Отладка Greasemonkey, получить реальные номера строк - PullRequest
2 голосов
/ 08 марта 2012

Я пытаюсь заставить работать скрипт пользователя Greasemonkey, но он продолжает выдавать "отсутствует; до выписки" в консоли ошибок Javascript.

Документы Greasemonkey говорят, что номер строки следует игнорировать, но, поскольку скрипт довольно длинный, было бы очень полезно узнать, где произошла ошибка. Как я могу узнать?

Редактировать: Итак, короче говоря. Номера строк верны в последних версиях Greasemonkey.

1 Ответ

1 голос
/ 09 марта 2012

В последних выпусках Greasemonkey, по-видимому, адекватно сообщаются номера строк, но все же лучше отладить и протестировать как можно большую часть вашего скрипта в консоли Firebug перед его использованием в скрипте Greasemonkey.
И, как уже говорилось, jsHint может быть полезен для решения подобных проблем.

В любом случае, предположим, что у меня есть такой скрипт:

// ==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);


Когда я запускаю его на 2 моих системах (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

и это на консоли ошибок Firefox ( Ctrl Shift J ):

Line numbers reported


Нажав на ссылку, вы получите:

Source view

Отсутствует истинная возможность отладки, она не становится намного лучше.

...