如何确定Greasemonkey脚本未运行的原因

时间:2009-09-11 13:16:11

标签: greasemonkey

我正在尝试在页面上运行Greasemonkey脚本。但事实并非如此。

如何调试脚本?

启动新Greasemonkey脚本的最小可能步骤是什么?

9 个答案:

答案 0 :(得分:34)

当我开始使用用户脚本时,我的第一个错误是没有使用通配符。

// Broken:
// @include        https://www.example.com/

// Working:
// @include        https://www.example.com/*

这是脚本甚至不应用的最简单方法,因此根本不运行。另外,请务必检查语法错误;错误的分号可能会阻止脚本被解析,因此会被忽略。

答案 1 :(得分:5)

您可以在脚本中的任何位置编写日志,以便更好地了解在其中执行的操作:

GM_log("Hello, World!");

http://wiki.greasespot.net/GM_log

更多信息: http://wiki.greasespot.net/Greasemonkey_Manual:Other_Useful_Tools#JavaScript_Console

另一个提示:看看整个greasemonkey维基。他们有很多好东西: http://wiki.greasespot.net/Main_Page

答案 2 :(得分:5)

在Firefox中,打开工具>错误控制台并在加载页面时观察它。如果你被页面上的警告所淹没,你可以过滤错误,这仍然经常突出你的脚本问题。

答案 3 :(得分:5)

我的油脂脚本正在运行;我添加了一条线;它停止了工作;我删除了这条线;它仍然无效。

我确定当我添加新行重新加载脚本时,greasemonkey安装了一个损坏的updater.php脚本。重新加载旧脚本保留了updater.php脚本的损坏版本。我最终在Firefox Web控制台中发现了一条引用updater.php脚本的错误消息。在加载新版本的脚本后,我将updater.php脚本替换为包含注释的文件,并且我的脚本开始执行。

在Mac上,我的updater.php位于:/Users/csimmons/Library/Application Support/Firefox/Profiles/81ri7k71.default/gm_scripts/Extended_LoU_Tweak

您可以在Firefox默认配置文件updater.php目录中找到类似的gm_scripts/文件。

答案 4 :(得分:5)

对我来说,脚本中存在语法错误,Greasemonkey没有给出错误消息。将脚本复制粘贴到JS控制台后发现了这个秘密。

答案 5 :(得分:4)

确保首先启用Greasemonkey:

答案 6 :(得分:2)

此外,@include的语法只有一个匹配模式。如果您想要另一个,请添加另一个@include行。

答案 7 :(得分:1)

我也有这个麻烦;这是我的解决方案:

  • 检查我正在处理的代码(并修改棘手的)部分

  • 卸载并重新安装 GreaseMonkey

  • 然后我收到了一个真实的错误报告

编辑:今天问题比平时更频繁(新发布?) 看起来Firefox web工具战斗使用greasemonkey或JS引擎来获取错误消息

因此当你在某处(ctrl + alt + k)时,错误信息出现在其他地方(尝试打开其他控制台)就像一个有趣的游戏。

答案 8 :(得分:1)

如果页面的URL是使用Javascript设置而不是通过导航设置(如Instagram为其弹出窗口提供固定链接URL),Greasemonkey会将脚本显示为正在运行但实际上无法启动。尝试重新加载URL并查看它是否实际进入同一页面。如果没有,您将必须匹配主页URL而不是弹出URL。