Greasemonkey Firefox 是在它自己的沙箱/层中运行 JS,还是在它运行的页面上需要全局 javascript?
我的意思是,如果我有另一个像 NoScript 这样的插件来阻止页面的 JS,那么使用 Greasemonkey 会导致页面的 JS 被解锁吗?或者,页面的 JavaScript 是否会继续被阻止,而 Greasemonkey 的 JavaScript 只是在它自己的层上运行在它的顶部,而一切仍然是安全的?我确实给它做了一个快速测试,页面 JS 似乎被阻止了,所以可能没问题。但是我不完全确定它是如何连接到网站/浏览器 JS 的。
最佳答案
是的,Greasemonkey 的优点之一是它可以在页面上运行脚本,即使该页面禁用了 javascript。而且,不,它不会取消阻止页面的 JS。
除非你使用 Script Injection , Greasemonkey 脚本总是在一个单独的范围内运行——它不会被 NoScript 等关闭。
此外,GM 脚本将根据有效的 @grant
settings 从沙箱运行。 .参见 "Why is window (and unsafeWindow) not the same from a userscript as from a tag?"获取更多信息。
关于javascript - Greasemonkey 如何与 NoScript 等 javascript 拦截器交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14985813/