【问题标题】:How does Greasemonkey interact with javascript blockers like NoScript?Greasemonkey 如何与 NoScript 等 javascript 拦截器交互?
【发布时间】:2013-02-20 17:12:48
【问题描述】:

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

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

【问题讨论】:

    标签: javascript security greasemonkey noscript


    【解决方案1】:

    是的,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?" 了解更多信息。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 其实那个页面有点过时了。从 GM 1.0 开始,Greasemonkey 并不总是使用沙盒。
      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2019-08-03
      • 2023-03-31
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 2015-11-22
      相关资源
      最近更新 更多