剪贴板属于用户!!!

剪贴板属于用户!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         剪贴板属于用户!!!
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  剪贴板属于用户!
// @author       LWF
// @license       MIT
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 存储每个网站的拒绝次数
    const refusalCounts = {};

    // 检测剪贴板写入尝试
    document.addEventListener('copy', function(e) {
        // 如果用户已经永久拒绝,则阻止复制
        if (refusalCounts[window.location.hostname] === 3) {
            e.preventDefault();
            return;
        }

        // 弹出对话框询问用户是否允许复制
        const allowCopy = confirm('您是否允许此网站复制内容到剪贴板?');

        if (!allowCopy) {
            // 用户拒绝复制
            e.preventDefault();

            // 更新拒绝次数
            if (refusalCounts[window.location.hostname]) {
                refusalCounts[window.location.hostname]++;
            } else {
                refusalCounts[window.location.hostname] = 1;
            }

            // 如果连续拒绝三次,则永久阻止
            if (refusalCounts[window.location.hostname] === 3) {
                alert('您已永久拒绝此网站的剪贴板访问权限。');
            }
        }
    });
})();