4

Greasemonkey Firefox 是在它自己的沙箱/层中运行 JS,还是在它运行的页面上需要全局 javascript?

我的意思是,如果我有另一个像 NoScript 这样的插件会阻止页面的 JS,那么使用 Greasemonkey 会导致页面的 JS 被解除阻止吗?或者,页面的 JavaScript 是否会保持阻塞,而 Greasemonkey 的 JavaScript 是否会在它自己的层中运行在它的顶部,而一切仍然是安全的?我确实给了它一个快速测试,页面 JS 似乎被阻止了,所以可能没问题。但是我不完全确定它是如何与网站/浏览器 JS 挂钩的。

4

2 回答 2

4

是的,Greasemonkey 的优点之一是它可以在页面上运行脚本,即使该页面禁用了 javascript。而且,不,它不会解锁页面的 JS。

除非您使用Script Injection ,否则 Greasemonkey 脚本始终在单独的范围内运行 - NoScript等不会关闭该范围。
此外,GM 脚本将根据有效@grant设置从沙箱运行。请参阅“为什么用户脚本中的窗口(和 unsafeWindow)与标签中的不同?” 了解更多信息。

于 2013-02-20T22:47:16.860 回答
1

我认为http://wiki.greasespot.net/Security应该回答你所有的问题。具体来说,

[Firefox 1.5 更新] 用于将特权用户脚本代码与不安全的内容页面隔离开来

于 2013-02-20T18:32:22.960 回答