![用户脚本可以绕过禁用浏览器中右键单击的网站吗?](https://linux22.com/image/1387715/%E7%94%A8%E6%88%B7%E8%84%9A%E6%9C%AC%E5%8F%AF%E4%BB%A5%E7%BB%95%E8%BF%87%E7%A6%81%E7%94%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E5%8F%B3%E9%94%AE%E5%8D%95%E5%87%BB%E7%9A%84%E7%BD%91%E7%AB%99%E5%90%97%EF%BC%9F.png)
我正在使用一个在其 html 源代码中使用以下代码的网站(如上所述这里在 Stack Overflow 上),作为禁用网页右键单击的一种方法:
<body oncontextmenu="return false;">
我假设永久自动绕过它的最简单方法(使用 Chrome 或 Firefox) - 无需完全关闭 javascript - 是创建一个简单的用户脚本来从页面中删除这串 html 代码(使用开发人员工具这样做可以确认它删除了限制),因此在用户脚本中有效地用它替换这个字符串:
oncontextmenu="return false;"
没有任何内容——没有字符作为其替代。
这是在不完全关闭 javascript(包括域上其他实际有用的脚本)的情况下绕过此限制的最佳方法吗?如果是,那么执行此操作的代码是什么?
答案1
在 Firefox 中,打开关于:配置并设置dom.event.contextmenu.enabled
为false
。这应该可以解决所有网站的问题,但它也会禁用极少数网站添加的一些右键单击功能。
否则,用户脚本对于这个特定的网站看起来非常简单。以下是完整脚本:
// ==UserScript==
// @name _Stop contextmenu vandalism
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// ==/UserScript==
document.body.removeAttribute ("oncontextmenu");
YOUR_SERVER.COM/YOUR_PATH
只需根据需要进行调整即可。