【发布时间】:2012-08-22 04:54:37
【问题描述】:
自从几天前发布了新的 Greasemonkey 1.0 以来,每个有 jQuery 的网站以及我在 Greasemonkey 脚本中使用 jQuery 的地方都无法正常运行我的脚本。我的 GS 脚本中的 jQuery(使用 @require 元数据)与页面的 jQuery 冲突。这是由于新的@grant 代码。
我已经阅读了文档,但仍然不知道如何在沙盒中再次运行 GS 脚本;唯一的选择似乎是要么授予对 GS API 的访问权限,要么将其授予 none 并在没有任何安全限制的情况下运行脚本,当我设计要运行的数十个 GS 脚本时,这对我来说根本不起作用有安全限制,喜欢这样。
【问题讨论】:
-
我将在
@grant指令中输入什么内容?这不是只适用于 Greasemonkey API 吗?我怎样才能让@require <jQuery>在沙箱中工作? -
只要使用
@grant GM_getValue,就可以了。即使您实际上没有调用GM_getValue(),@grant指令也有恢复沙盒的副作用;所以@require应该恢复正常工作。 -
啊,是的,我认为这是一种选择。只是一种解决方法,但至少它是一种选择。不过我现在仍然坚持使用 0.9,因为我有太多需要更改的脚本,我宁愿让它们保持不变,直到 GS 解决这个问题。
-
好吧,现在我收到了来自我的脚本的几个用户的支持请求。请file a bug report with GM devs 和/或评论this bug。
-
GS 1.0 于 8 月 24 日左右发布。自 8 月 27 日左右以来,他们一直被 GS 1.0 问题所淹没。看起来最终会有所作为。看起来他们也在 GS 博客上发布了一些关于此的内容。
标签: javascript jquery firefox greasemonkey tampermonkey