我正在尝试让 Greasemonkey 用户脚本正常工作,但它一直抛出异常
“缺少;声明之前”
在 Javascript 错误控制台中。
Greasemonkey 文档说应该忽略行号,但由于脚本相当长,因此了解错误发生的位置将非常有帮助。我怎样才能找到答案?
编辑:所以,长话短说。在最近的 Greasemonkey 版本中,行号是正确的。
Greasemonkey 的最新版本似乎可以充分报告行号,但在 Greasemonkey 脚本中使用脚本之前,最好在 Firebug 控制台中尽可能多地调试和测试脚本。
而且,正如 Missno 所说,jsHint http://jshint.org/可以很好地捕获此类问题。
不管怎样,假设我有一个这样的脚本:
// ==UserScript==
// @name _Debugging test
// @include http://YOUR_SERVER/YOUR_PATH/*
// ==/UserScript==
unsafeWindow.console.log ('Line 1', 1 + 0);
unsafeWindow.console.log ('Line 2', 1 + 1);
unsafeWindow.console.log ('Line 3', 1 + 2);
unsafeWindow.console.log ('Line 4 **Throw error here**', 1 + 3 + nonExistantVariable);
unsafeWindow.console.log ('Line 5', 1 + 4);
当我在我的两个系统上运行它时(WinXP、FF:10.0.2、GM:0.9.18、Firebug:1.9.1,除了 GM:0.9.17 之外均相同),我在 Firebug 的控制台上得到以下信息:
Line 1 1
Line 2 2
Line 3 3
and this on Firefox's Error console (CtrlShiftJ):
点击链接会产生:
如果没有真正的调试能力,那就没有比这更好的了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)