2010-08-17 30 views
1

这太奇怪了。 我是Greasemonkey的新手,但我从userscripts.org下载了一个脚本,它工作正常。然后我使用GM菜单中的“新用户脚本”创建了该脚本的副本,然后将原始脚本粘贴到新脚本中。然后我禁用旧脚本并启用新脚本,新脚本不起作用。复制的greasemonkey脚本不起作用 - 莫名其妙

回答

3

你“没有任何编辑就将原始脚本粘贴到新脚本中”?

可能出错有些事情:

  1. 新的脚本应该有不同的名称 - 其他明智的脚本安装(S)可能会损坏。

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

    要解决此问题:

    1. 新的脚本文件保存到一个文件夹中得心应手,也许,C:\Work\YourScript.user.js。不要使用Windows临时文件夹,因为GM安装在那里是有问题的。

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

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

    4. 安装脚本。现在应该获取所需资源并妥善保存。您可以通过查看脚本安装文件夹来检查该文件夹 - 这将在Windows系统上显示如下内容: C:\Documents and Settings\{Win Username}\Application Data\Mozilla\Firefox\Profiles\{Random string}.default\gm_scripts\YourScript\

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

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

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

+0

是的,问题是(2),jquery .js的@require。如果你只是做“新用户脚本”,代码中的@require语句将被忽略。实际上,尽管我通过在StackOverflow中搜索[jquery greasemonkey]来找到答案,但将问题缩小到了jquery。但是,谢谢。 – Mark 2010-08-18 07:48:11

1

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

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