// ==UserScript== // @name Restore Clipboard ( 剪贴板消毒,去掉版权信息 ) // @namespace https://github.com/harryhare // @version 0.4.11 // @description remove annoying copyright words on zhihu.com, jianshu.com, douban.com... // @author harryhare // @license GPL 3.0 // @icon https://raw.githubusercontent.com/harryhare/userscript/master/index.png // @match https://*.zhihu.com/** // @match https://*.jianshu.com/** // @match https://*.douban.com/** // @match https://*.csdn.net/** // @match https://*.ftchinese.com/** // @match https://*.1point3acres.com/** // @match https://blog.skk.moe/** // @match https://www.bilibili.com/** // @match https://juejin.cn/** // @match https://*.nowcoder.com/** // @match https://*.mbalib.com/** // @match http://www.360doc.com/** // @match https://www.360doc.com/** // @match https://*.geekbang.org/** // @grant none // @downloadURL https://update.greasyfork.icu/scripts/40730/Restore%20Clipboard%20%28%20%E5%89%AA%E8%B4%B4%E6%9D%BF%E6%B6%88%E6%AF%92%EF%BC%8C%E5%8E%BB%E6%8E%89%E7%89%88%E6%9D%83%E4%BF%A1%E6%81%AF%20%29.user.js // @updateURL https://update.greasyfork.icu/scripts/40730/Restore%20Clipboard%20%28%20%E5%89%AA%E8%B4%B4%E6%9D%BF%E6%B6%88%E6%AF%92%EF%BC%8C%E5%8E%BB%E6%8E%89%E7%89%88%E6%9D%83%E4%BF%A1%E6%81%AF%20%29.meta.js // ==/UserScript== // use match instead of include // https://stackoverflow.com/questions/31817758/what-is-the-difference-between-include-and-match-in-userscripts // 代码思路 // if ( oncopy 所在的 element 在 document 上){ // 在 document.body 上 stopPropagation(); // } // else if level( oncopy 所在的 element) > level(content element){ // 在 content element 上调用 stopPropagation(); // } // else if level( oncopy 所在的 element) == level(content element){ // 操作剪贴板 // } function rewrite_html(e){ let inner=e.innerHTML; e.innerHTML=inner; } function do_douban(){ var targets=document.querySelectorAll('div#link-report .note,div.review-content.clearfix'); for(let i=0;i{e.stopPropagation();}; } } function do_csdn(){ var targets=document.querySelectorAll('div#article_content'); for(let i=0;i{e.stopPropagation();}; } } function do_juejin(){ var targets=document.querySelectorAll('div.article-content div.markdown-body'); for(let i=0;i{e.stopPropagation();}; } } function do_360doc(){ var targets=document.querySelectorAll('div.doc360article_content'); for(let i=0;i{e.stopPropagation();}; } } function do_bilibili(){ var targets=document.querySelectorAll('div#read-article-holder'); for(let i=0;i{e.stopPropagation();}; } } function do_zhihu(){ //var targets=document.querySelectorAll('div.RichContent--unescapable');# 使用这个selecter,后面动态加载的部分依然会有问题 var targets=document.querySelectorAll('main.App-main'); for(let i=0;i{e.stopPropagation();}; //targets[i].className="" } } // B站改了,这个是原先的代码 // function do_bilibili(){ // // async function clean(e) { // e.preventDefault(); // //可能有用 // e.stopImmediatePropagation(); // // 在执行完当前事件处理程序之后,停止当前节点以及所有后续节点的事件处理程序的运行 // var copytext = window.getSelection().toString(); // //console.log(await navigator.clipboard.readText()); // await navigator.clipboard.writeText(window.getSelection().toString()); // // // // 没有效果 // // var clipdata = e.clipboardData || window.clipboardData; // // console.log(clipdata.getData('Text')); // // console.log(clipdata.getData('text/plain')); // // let clipboardItems = []; // // console.log("items begin"); // // for (const item of e.clipboardData.items) { // // console.log(item); // // if (!item.type.startsWith('image/')) { // // continue; // // } // // clipboardItems.push( // // new ClipboardItem({ // // [item.type]: item, // // }) // // ); // // } // // if (clipdata) { // // clipdata.setData('text/plain', copytext); // // clipdata.setData('Text', copytext); // // } // } // var targets=document.querySelectorAll('div.article-holder'); // for(let i=0;i{ //console.log("on selection changed"); if(last_change_is_copy==true){ //console.log("the fake change!") last_change_is_copy=false; return; } last_selection=window.getSelection(); // 这句报错不知道怎么做申拷贝 //last_selection=Object.assign({},window.getSelection()); //console.log(last_selection.toString()); last_selection_string=""+last_selection.toString(); last_selection_range=[]; for(var i=0;i{e.stopPropagation();}; //document.documentElement.addEventListener('copy',function(e){e.stopImmediatePropagation()}); //document.documentElement.addEventListener('copy',function(e){e.stopPropagation()}); //document.body.addEventListener('copy',function(e){e.stopPropagation()}); //document.body.oncopy=function(e){e.stopPropagation()}; } /* var targets=document.querySelectorAll('span.RichText.CopyrightRichText-richText'); for(let i=0;i{e.stopPropagation();}; targets[i].parentElement.oncopy=(e)=>{e.stopPropagation();}; targets[i].parentElement.parentElement.oncopy=(e)=>{e.stopPropagation();}; }*/ })();