Greasy Fork

Greasy Fork is available in English.

强制解除网页复制限制

去除网页的复制限制,解除右键和选择文本的限制。

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         强制解除网页复制限制
// @namespace    https://www.cnblogs.com/lusuo
// @version      1.1
// @description  去除网页的复制限制,解除右键和选择文本的限制。
// @author       Joanne
// @license      MIT
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    // 解锁右键菜单
    document.addEventListener('contextmenu', function (e) {
        e.stopPropagation();
    }, true);

    // 解锁复制功能
    document.addEventListener('copy', function (e) {
        e.stopPropagation();
    }, true);

    // 解锁选择文本功能
    document.addEventListener('selectstart', function (e) {
        e.stopPropagation();
    }, true);

    // 遍历所有元素,移除相关属性
    const elements = document.querySelectorAll('*');
    elements.forEach(el => {
        el.removeAttribute('oncopy');
        el.removeAttribute('onpaste');
        el.removeAttribute('oncut');
        el.removeAttribute('oncontextmenu');
        el.removeAttribute('onselectstart');
        el.removeAttribute('onmousedown');
    });

    // 设置样式来解除选择限制
    const style = document.createElement('style');
    style.innerHTML = `
        * {
            -webkit-user-select: text !important;
            -moz-user-select: text !important;
            -ms-user-select: text !important;
            user-select: text !important;
        }
    `;
    document.head.appendChild(style);

    console.log('脚本已运行:解除网页复制限制成功!');
})();