Selection and Copying Restorer

Unlock right-click, remove restrictions on copy, cut, select text, right-click menu, text copying, text selection, image right-click, and enhance functionality: Alt key hyperlink text selection.

目前为 2024-05-11 提交的版本。查看 最新版本

// ==UserScript==
// @name                Selection and Copying Restorer
// @version             0.1
// @description         Unlock right-click, remove restrictions on copy, cut, select text, right-click menu, text copying, text selection, image right-click, and enhance functionality: Alt key hyperlink text selection.
// @namespace           https://gf.qytechs.cn/users/1300060
// @author              AstralRift
// @run-at              document-start
// @match               *://*/*
// @exclude             /^https?://\S+\.(txt|png|jpg|jpeg|gif|xml|svg|manifest|log|ini)[^\/]*$/
// @exclude             https://github.dev/*
// @exclude             https://vscode.dev/*
// @exclude             https://www.photopea.com/*
// @exclude             https://www.google.com/maps/*
// @exclude             https://docs.google.com/*
// @exclude             https://drive.google.com/*
// @exclude             https://mail.google.com/*
// @exclude             https://www.dropbox.com/*
// @exclude             https://outlook.live.com/mail/*
// @exclude             https://www.terabox.com/*
// @exclude             https://leetcode.cn/*
// @exclude             https://facebook.com/*
// @exclude             https://m.facebook.com/*
// @grant               GM_registerMenuCommand
// @grant               GM_unregisterMenuCommand
// @grant               GM.setValue
// @grant               GM.getValue
// @grant               GM_addValueChangeListener
// @grant               unsafeWindow
// @inject-into         page
// @license             MIT
// ==/UserScript==

(async function() {
    'use strict';

    function getSelectionText() {
        return window.getSelection ? window.getSelection().toString() : '';
    }

    function unlockTextSelection() {
        document.querySelectorAll('*').forEach(el => {
            el.style.userSelect = 'text';
            el.style.webkitUserSelect = 'text';
            el.style.MozUserSelect = 'text';
        });
    }

    unlockTextSelection();

    document.addEventListener('contextmenu', event => event.stopPropagation(), true);
    document.addEventListener('copy', event => {
        if (!getSelectionText()) {
            event.preventDefault();
        }
    }, true);

    document.addEventListener('cut', event => {
        if (!getSelectionText()) {
            event.preventDefault();
        }
    }, true);

    document.addEventListener('keydown', function(event) {
        if (event.altKey && (event.key === 'c' || event.key === 'C')) {
            navigator.clipboard.writeText(getSelectionText()).then(() => {
                console.log('Text copied to clipboard');
            }).catch(err => {
                console.error('Failed to copy text: ', err);
            });
        }
    });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址