您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
在非选词复制时提示用户以防止未经授权的自动复制。
当前为
// ==UserScript== // @name 防止未经授权的自动复制 // @version 7 // @author ChatGPT // @description 在非选词复制时提示用户以防止未经授权的自动复制。 // @grant GM_setClipboard // @run-at document-start // @match *://*/* // @namespace http://greasyfork.icu/users/452911 // ==/UserScript== (function() { 'use strict'; let hasCopied = false; let timeoutId = null; const handleCopy = function(event) { event.preventDefault(); const selection = window.getSelection().toString(); if (!hasCopied) { hasCopied = true; const shouldCopy = confirm('是否复制?\n' + selection); if (shouldCopy) { GM_setClipboard(selection); } timeoutId = setTimeout(function() { hasCopied = false; timeoutId = null; }, 1000); // 设置延时时间,单位为毫秒 } }; const handleSelectionChange = function() { const selection = window.getSelection().toString(); if (selection.length === 0) { document.addEventListener('copy', handleCopy); } else { document.removeEventListener('copy', handleCopy); } }; document.addEventListener('copy', handleCopy); document.addEventListener('selectionchange', handleSelectionChange); // 在页面卸载前清除延时器 window.addEventListener('beforeunload', function() { if (timeoutId) { clearTimeout(timeoutId); } }); })();