Greasemonkey Firefox是否在其自己的沙盒/图层中运行JS,或者它在运行的页面上是否需要全局javascript?
我的意思是,如果我有另一个插件,如NoScript阻止页面的JS,会在页面的JS中使用Greasemonkey结果然后被解除阻塞吗?或者,页面的JavaScript是否会被阻止,而Greasemonkey的JavaScript只会在它自己的层中运行,并且所有内容仍然是安全的?我确实给它一个快速测试,JS似乎被阻止了,所以可能很好。但是我不完全确定它是如何挂钩到网站/浏览器JS的。
答案 0 :(得分:4)
是的,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?"。
答案 1 :(得分:1)
我认为http://wiki.greasespot.net/Security应该回答您的所有问题。具体地,
[Firefox 1.5更新]用于将特权用户脚本代码与不安全的内容页面隔离