【问题标题】:Duplicate greasemonkey script doesn't work - inexplicable重复的greasemonkey脚本不起作用 - 莫名其妙
【发布时间】:2010-08-18 10:10:25
【问题描述】:

这太离奇了。 我是 Greasemonkey 的新手,但我从 userscripts.org 下载了一个脚本,它运行良好。然后,我使用 GM 菜单中的“新用户脚本”创建了该脚本的副本,然后将原始脚本粘贴到新脚本中。然后我禁用旧脚本并启用新脚本,新脚本不起作用。

【问题讨论】:

    标签: greasemonkey


    【解决方案1】:

    您“将原始脚本粘贴到新脚本中”而不进行任何编辑?

    一些可能出错的地方:

    1. 新脚本应该有一个不同的名称——否则脚本安装可能会损坏。

    2. 脚本的标题中是否有@require 行?如果是这样,那么知道必要的资源仅在纯安装期间获取,并且在使用“新用户脚本”菜单时此机制不起作用。

      解决这个问题:

      1. 将新脚本文件保存到一个方便的文件夹中,也许是C:\Work\YourScript.user.js。不要使用 windows temp 文件夹,因为 GM 安装在那里有问题。

      2. 在 Greasemonkey 的“管理用户脚本”对话框中,卸载新脚本(以及任何潜在的名称冲突)。

      3. 在浏览器中,使用 File->Open File 和浏览器找到您的脚本 (EG C:\Work\YourScript.user.js) 并打开它。应该会弹出 Greasemonkey 安装对话框。

      4. 安装脚本。现在应该正确获取和保存所需的资源。您可以通过查看脚本安装文件夹来检查这一点 - 这将类似于: C:\Documents and Settings\{Win Username}\Application Data\Mozilla\Firefox\Profiles\{Random string}.default\gm_scripts\YourScript\ 在 Windows 系统上。

    3. 确保“包含的页面”是您认为的那样。您可以在 Greasemonkey 的“管理用户脚本”对话框中查看。

    4. 仔细检查脚本编辑。在 Greasemonkey 的“管理用户脚本”对话框中,按下 编辑 按钮并检查代码。

    5. 如果一切都失败了,在此处粘贴完整的、未经编辑的脚本代码 -- 可能存在我们可以帮助您解决的语法和/或代码错误。包含代码总是一个好主意。

    【讨论】:

    • 是的,问题是 (2),jquery .js 的 @require。如果您只执行“新用户脚本”,代码中的 @require 语句将被忽略。实际上,尽管在将问题缩小到 jquery 之后,我通过在 StackOverflow 中搜索 [jquerygreasemonkey] 自己找到了答案。不过谢谢。
    【解决方案2】:

    您可能没有为新脚本设置任何 URL。 当您选择“新用户脚本”时,其中一个框被标记为“包含(每行一个)”,这是 FireFox 将为其激活此脚本的 URL 列表。尽管脚本本身也列出了这些包含行,但它们仅在安装时合并到浏览器的设置中,而不是在您编辑脚本时。

    查看脚本中的@include 行并将它们添加到“管理用户脚本”页面的“包含的页面”部分,您很可能会开始看到一些操作。

    【讨论】:

      猜你喜欢
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 2012-03-12
      • 2019-02-04
      • 2015-09-28
      • 2013-04-22
      • 1970-01-01
      相关资源
      最近更新 更多