你是否有这样的烦恼,现在用手机(浏览器)上网的时候,总是会莫名其妙的剪贴板里自动复制进一堆奇怪的代码。

并且此现象近年来还有愈演愈烈的趋势。

据我多方查询,网页之所以有能力写入剪贴板,全部是依赖了新版本浏览器新增的这个内置对象:document.execCommand,如果Chrome版本是42+,此对象则有能力复制文字到剪贴板。

既然如此,那我们只要将这个对象销毁就可以啦!
代码如下:
document.execCommand=function(){return true;};//覆写execCommand属性指向空函数
实测有效,我们再在前后加上一些简单的条件判断和状态报告,完整代码如下:
//剪贴板守护
if(/y\.qq\.com|\.bilibili\.|baijiahao\.baidu\.com|mbd\.baidu\.|tieba\.baidu\.com|zx\.sina|haokan\.|taobao\./.test(location.hostname) && typeof document.execCommand === 'function' && /\[native/.test(String(document.execCommand))) {
document.execCommand = function () {
return true;
};
document.title = '😉' + document.title;
}

使用方法:请在正则式那里填上会复制乱码的网站域名,.要替换成\.,如果你想阻止所有网页复制,就填上一个点.。
代码复制粘贴到浏览器脚本,域名那里填*(全部),目前已知支持用户脚本的浏览器有Via。

现在你可以放心的浏览这些网页,它们再也无法擅自向你的剪贴板复制东西了。

注意事项:document.execCommand属于内置对象属性,我不确定是否所有版本浏览器的这个内置属性都允许被修改,如果脚本无效,请向我报告,附上你的浏览器名称、版本号和UA。

名不好就受气原创作品,开放转载,标明出处。
以上。
Thu Jan 21 2021