// ==UserScript== // @name 复制去除版权信息 // @namespace http://tampermonkey.net/ // @version 0.1.3 // @description 复制文字时自动去除网站自带的版权信息 // @author myaijarvis // @icon https://greasyfork.org/packs/media/images/blacklogo16-5421a97c75656cecbe2befcec0778a96.png // @run-at document-end // @match https://leetcode-cn.com/problems/* // @match https://www.jianshu.com/p/* // @match https://*.blog.csdn.net/article/details/* // @match https://blog.csdn.net/*/article/details/* // @match https://juejin.cn/post/* // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js // @grant none // @downloadURL none // ==/UserScript== (function () { "use strict"; function copyOperation(e) { e.preventDefault(); //阻止默认事件 e.stopImmediatePropagation(); // 在执行完当前事件处理程序之后,停止当前节点以及所有后续节点的事件处理程序的运行 let selected = window.getSelection(); let clipboard = e.clipboardData; clipboard.setData("Text", selected.toString()); } function monitor(url) { if (url.match(/https:\/\/leetcode-cn\.com\/problems\/.*?\/solution\/.+/)) { document.addEventListener("copy", copyOperation); // console.log("copy!"); } else { document.removeEventListener("copy", copyOperation); // 移除添加的事件 // console.log("not copy!"); } } let urlTemp = document.URL; if (urlTemp.match(/leetcode-cn\.com\/problems/)) { // console.log(urlTemp); monitor(urlTemp); // 先触发一次 setInterval(() => { let url = document.URL; //console.log("url", url); // 页面url变了但页面没刷新会触发 if (url != urlTemp) { urlTemp = url; // console.log("urlTemp", url); monitor(url); } }, 2000); }else{ document.addEventListener('copy',copyOperation); } })();