微信公众号:[干货食堂]
关注可了解更多的干货教程及前后端实战文章。问题或建议,请公众号留言;
[如果你觉得本篇对你有帮助,欢迎赞赏,点赞,再看,转发]
需求前提
前两天发现了一个很气蛋的事,看到了一个网站,准备复制个东西,竟然不让复制,每次复制都还弹弹窗,不管是ctrl+v 还是 右键 都一样,身为一个程序猿遇到这种事情,这能忍?解决掉它!!!
问题分析
原本我是准备debug下看下哪个地方触发的监听事件或者某个全局变量来控制的弹不弹,找是找到了,大概得逻辑是读取当前浏览人是否登录,登录了是否支付,来决定是否要弹框的,你可以在判断的那一行打个断点,修改下变量不让弹框,但是感觉有点麻烦,你不能每次都修改变量值吧,而且这仅仅是这个网站的逻辑,其他网站可能是另外的逻辑,太累了,想办法搞一个通用的。。。
其实上吧,它的本质就是网站监听了你的ctrl+v的事件来触发其他的业务逻辑,那么我们能不能覆盖这个监听事件呢?不让走网站自己的业务逻辑。就走默认就好了。正常默认就应该要让复制的。
网上参考
网上也有很多类似的文章讲解如何处理这类问题,但是我根据质量都不高,因为大部分说的有如下几个方法。
1、OCR截图识别
2、油猴插件
3、复制源码的内容
4、下载xxxx工具
都太麻烦了~~~~~~~~~~
我的解决办法
第一种,简单粗暴的,复制一段代码,直接控制台执行就OK,但是有个小小的问题就是,可能有些网站还是会弹框,但是不重要,因为不同的网站逻辑不同,我们只是解除了它不让复制的权限,并不能阻止它弹框,其实上文本已经复制到了你的粘贴板上了。
话不多说,直接上代码。
浏览器F12打开调试控制台,然后输入下面代码回车即可。
document.oncopy=function(){ event.returnValue=true; };
document.onselectstart=function(){ event.returnValue=true; };
document.oncontextmenu=function(){ event.returnValue=true; };
第二种,终极版,直接禁用该网站的js脚本权限。
所有现代浏览器都提供了这个选项。以下是禁用 JavaScript 的步骤:
-
打开浏览器设置。不同浏览器的设置位置略有不同,通常在设置或选项菜单中。
-
找到“隐私与安全”或类似的选项。在这里,你可以找到“内容设置”或类似的链接。
-
找到“JavaScript”选项并禁用它。对于 Chrome 和 Firefox 浏览器,这个选项通常在“内容设置”或“隐私与安全”菜单中。
具体看图吧,我用的是谷歌浏览器
微信公众号:[干货食堂]
关注可了解更多的干货教程及前后端实战文章。问题或建议,请公众号留言;
[如果你觉得本篇对你有帮助,欢迎赞赏,点赞,再看,转发]
原文始发于微信公众号(干货食堂):有些网站不允许复制怎么解决(万能方法)?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/258433.html