Подтвердить что ты не робот

Как определить, почему Greasemonkey script не работает

Я пытаюсь запустить Greasemonkey script для запуска на странице. Но это не так.

Как вы отлаживаете скрипты?

Каковы наименьшие возможные шаги для запуска нового Greasemonkey script?

4b9b3361

Ответ 1

вы можете записывать журналы везде в своих сценариях, чтобы получить больше следов от того, что делать в них:

GM_log("Hello, World!");

http://wiki.greasespot.net/GM_log

Дополнительная информация: http://wiki.greasespot.net/Greasemonkey_Manual:Other_Useful_Tools#JavaScript_Console

Еще один совет: взгляните на всю wiki-страницу greasemonkey. У них там много хорошего: http://wiki.greasespot.net/Main_Page

Ответ 2

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

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

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

Что самый простой способ для script даже не применяться, и, таким образом, не запускается вообще. Кроме того, обязательно проверьте наличие синтаксических ошибок; некорректная точка с запятой может помешать анализу script, и поэтому он игнорируется.

Ответ 3

В Firefox откройте "Инструменты" > "Консоль ошибок" и просмотрите его при загрузке страницы. Если вы перегружены Warnings со страницы, вы можете отфильтровать "Ошибки", которая по-прежнему часто подчеркивает вашу проблему script.

Ответ 4

Работала моя greasemonkey script; Я добавил строку; он прекратил работать; Я удалил линию; он все еще не работал.

Я решил, что greasemonkey установил сломанный updater.php script, когда я перезагрузил script с добавленной новой строкой. Перезагрузка старого script сохранила сломанную версию updater.php script. В итоге я нашел сообщение об ошибке со ссылкой на updater.php script в моей веб-консоли Firefox. Я заменил updater.php script на файл, содержащий комментарий после загрузки новой версии script, а мой script запущен.

На mac мой updater.php находился в: /Users/csimmons/Library/Application Support/Firefox/Profiles/81ri7k71.default/gm_scripts/Extended_LoU_Tweak

Возможно, вы найдете аналогичный файл updater.php в своем профиле по умолчанию gm_scripts/ в Firefox.

Ответ 5

Для меня была синтаксическая ошибка в script, и Greasemonkey не выдал сообщение об ошибке. Копирование вставки script в JS Console выявило секрет.

Ответ 6

Убедитесь, что Greasemonkey включен в первую очередь:

Ответ 7

Кроме того, синтаксис @include должен иметь только один шаблон соответствия. Если вы хотите другой, добавьте еще одну строку @include.

Ответ 8

У меня тоже была эта проблема; это решение для меня:

  • Проверьте (и измените сложную) часть кода, над которым я работал, когда это произойдет

  • удалить и переустановить GreaseMonkey

  • тогда я получил реальный отчет об ошибке

EDIT: Сегодня проблема возникает чаще, чем обычно (новый выпуск?) Похоже, что веб-инструменты Firefox боевые с помощью сервера greasemonkey или JS для сообщений .

Итак, когда вы где-то смотрите (ctrl + alt + k), сообщение об ошибке появляется где-то в другом месте (попробуйте открыть другую консоль), как забавная игра.

Ответ 9

Если URL-адрес страницы задан с помощью Javascript, а не путем навигации (например, Instagram, предоставляя своим всплывающим окнам URL с постоянной ссылкой), Greasemonkey покажет script как запущенный, но он на самом деле не запустится. Попробуйте перезагрузить URL-адрес и посмотрите, действительно ли он идет на одну страницу. Если нет, вам нужно будет сопоставить URL главной страницы, а не всплывающий URL.