Я пытаюсь запустить скрипт Greasemonkey для работы на странице. Но это не так.Как определить, почему сценарий Greasemonkey не запущен
Как вы отлаживаете скрипты?
Каковы минимально возможные детские шаги, чтобы начать новый сценарий Greasemonkey?
Я пытаюсь запустить скрипт Greasemonkey для работы на странице. Но это не так.Как определить, почему сценарий Greasemonkey не запущен
Как вы отлаживаете скрипты?
Каковы минимально возможные детские шаги, чтобы начать новый сценарий Greasemonkey?
вы можете писать журналы везде в ваших сценариях, чтобы получить лучшие следы того, что если делается в них:
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
Спасибо, но в то время, когда мне это было нужно, мой скрипт даже не работал - даже не мог запускать такие утверждения, как ' предупреждение ("привет"); '. Поэтому я надеюсь создать контрольный список с шагами, которые вы можете проверить, не работает ли ваш скрипт. –
... Полезный совет! –
Начиная с версии Greasemonkey 3.2 (Firefox 38, OS X) 'GM_log', похоже, не работает. –
В Firefox откройте «Инструменты»> «Консоль ошибок» и просмотрите его при загрузке страницы. Если вы перегружены Warnings со страницы, вы можете отфильтровать «Ошибки», которая по-прежнему часто подчеркивает проблему с вашим скриптом.
Это должно быть так в FF.Однако в наши дни некоторые ошибки UserScript (например, сценарий не удается скомпилировать) не отображаются в веб-консоли ('Ctrl + Shift + K'), а не в консоли браузера (' Ctrl + Shift + J'). Похоже, нам нужно переключиться на Chrome для отладки GM-скриптов. – Tino
Работает сценарий greasemonkey; Я добавил строку; он прекратил работать; Я удалил линию; он все еще не работает.
Я решил, что greasemonkey установил сломанный скрипт updater.php
, когда я перезагрузил сценарий новой добавленной строкой. Перезагрузка старого скрипта сохранила сломанную версию скрипта updater.php
. В итоге я нашел сообщение об ошибке со ссылкой на сценарий updater.php
в моей веб-консоли Firefox. Я заменил сценарий updater.php
файлом, содержащим комментарий после загрузки новой версии скрипта, и мой скрипт начал выполняться.
На макинтош, мой updater.php
был: /Users/csimmons/Library/Application Support/Firefox/Profiles/81ri7k71.default/gm_scripts/Extended_LoU_Tweak
Вы можете быть в состоянии найти подобный updater.php
файл в Firefox профиль по умолчанию gm_scripts/
каталогов.
Когда я начинал с пользовательских скриптов, моя первая ошибка не использовала подстановочные знаки.
// Broken:
// @include https://www.example.com/
// Working:
// @include https://www.example.com/*
Это самый простой способ для сценария не применять и, следовательно, не запускаться вообще. Кроме того, обязательно проверьте наличие синтаксических ошибок; некорректная точка с запятой может помешать анализу сценария, и, следовательно, он игнорируется.
Да, это решило мою проблему! – Germstorm
Это сработало для меня, но это просто расплывчато! Я создаю скрипт для FB, и у меня был '@include https: // www.facebook.com', и он не загружался, хотя точный адрес -' https: // facebook.com'. Таким образом, «шаблон» соответствует даже тогда, когда нет косой черты, но он не соответствует, когда строка равна 100%. Weird. – MarioDS
Чтобы быть справедливым, www.facebook.com! = Facebook.com. –
Кроме того, синтаксис @include
должен иметь только один соответствующий шаблон. Если вы хотите другой, добавьте еще одну строку @include
.
Для меня была синтаксическая ошибка в скрипте, и Greasemonkey не выдал сообщение об ошибке. Копирование вставки скрипта в консоль JS раскрыло секрет.
У меня тоже была эта проблема; это решение для меня:
Проверить (и Изменить каверзный) часть кода я работал, когда это произойдет
удалить и переустановить GreaseMonkey
затем я получил реальный отчет об ошибке
EDIT: Сегодня проблема возникает чаще, чем обычно (ne w release?) Похоже, что веб-инструменты Firefox сражаются с двигателем greasemonkey или JS для сообщений об ошибках.
Итак, когда вы где-то смотрите (ctrl + alt + k), сообщение об ошибке появляется где-то в другом месте (попробуйте открыть другую консоль), это похоже на забавную игру.
Убедитесь, что Greasemonkey включена в первую очередь:
Если URL страницы устанавливается с помощью Javascript, а не по навигации (например, Instagram давая своим всплывающие окна на постоянную ссылку URL), Greasemonkey покажет скрипт, но он на самом деле не запустится. Попробуйте перезагрузить URL-адрес и посмотрите, действительно ли он идет на одну страницу. Если нет, вам придется сопоставить URL главной страницы, а не всплывающий URL.
BTW Я решил свою конкретную проблему. Оказалось, что «включенные страницы» в диалоговом окне «управлять пользовательскими скриптами» включали «lavpriskoekken.dk/*», а не «* lavpriskoekken.dk/*» –
То же самое происходит со мной. Hello World будет работать правильно, тогда я добавлю строку и перестанет работать. Если я возьму это, как обратно, он никогда не будет работать снова. Сбой в работе greasemonkey или перезагрузка интерпретатора? Как ты это делаешь? – 2011-02-09 21:11:34
Вам не нужно «перезагружать» Greasemonkey. Он будет пытаться запускать ваш скрипт каждый раз, когда страница, соответствующая вашим включенным страницам, загружается в браузер. Таким образом, способ «перезагрузки» - нажать «Обновить» в вашем браузере. –