Как определить, почему скрипт Greasemonkey не запущен [дубликат]
-
05-07-2019 - |
Вопрос
На этот вопрос уже есть ответ здесь:
Я пытаюсь запустить скрипт Greasemonkey на странице.Но это не так.
Как вы отлаживаете скрипты?
Каковы минимально возможные дополнительные шаги для запуска нового скрипта Greasemonkey?
Решение
вы можете записывать журналы повсюду в своих скриптах, чтобы лучше отслеживать, что в них делается, если:
GM_log("Hello, World!");
http://wiki.greasespot.net/GM_log
Подробная информация:http://wiki.greasespot.net/Greasemonkey_Manual:Other_Useful_Tools#JavaScript_Console
Еще один совет:Взгляните на всю greasemonkey wiki.У них там много хороших вещей:http://wiki.greasespot.net/Main_Page
Другие советы
Когда я начинал с пользовательских скриптов, моей первой ошибкой было не использование подстановочных знаков.
// Broken:
// @include https://www.example.com/
// Working:
// @include https://www.example.com/*
Это самый простой способ, чтобы скрипт даже не применялся и, следовательно, вообще не запускался.Кроме того, обязательно проверьте наличие синтаксических ошибок;неуместная точка с запятой может помешать анализу скрипта, и поэтому она игнорируется.
В Firefox откройте Сервис > Консоль ошибок и просматривайте ее по мере загрузки страницы.Если вас заваливают предупреждениями со страницы, вы можете отфильтровать ошибки, которые по-прежнему часто указывают на проблему вашего скрипта.
Мой скрипт greasemonkey работал;Я добавил строчку;он перестал работать;Я удалил линию;это все еще не сработало.
Я определил, что greasemonkey установил сломанный updater.php
скрипт, когда я перезагрузил скрипт с добавленной новой строкой.Перезагрузка старого скрипта сохранила сломанную версию updater.php
сценарий.В конце концов я нашел сообщение об ошибке, относящееся к updater.php
скрипт в моей веб-консоли Firefox.Я заменил updater.php
скрипт с файлом, содержащим комментарий, после загрузки новой версии скрипта, и мой скрипт начал выполняться.
На Mac, мой updater.php
был в: /Users/csimmons/Library/Application Support/Firefox/Profiles/81ri7k71.default/gm_scripts/Extended_LoU_Tweak
Возможно, вам удастся найти похожий updater.php
файл в вашем профиле Firefox по умолчанию gm_scripts/
справочник.
Для меня в скрипте была синтаксическая ошибка, и Greasemonkey не выдал сообщение об ошибке.Копирование-вставка скрипта в консоль JS раскрыло секрет.
Убедитесь, что Greasemonkey включен в первую очередь:
Кроме того, синтаксис @include
заключается в том, чтобы иметь только один соответствующий шаблон.Если вы хотите еще один, добавьте еще один @include
линия.
У меня тоже была эта проблема;это было решение для меня:
Проверьте (и измените самую сложную) часть кода, над которой я работал, когда это произошло
удаление и переустановка Жирный Обезьяна
затем я получил реальное сообщение об ошибке
Редактировать:Сегодня проблема возникает чаще, чем обычно (новая версия?) Похоже, что веб-инструменты Firefox Бои с greasemonkey или движком JS для сообщения об ошибках.
Поэтому, когда вы куда-то смотрите (ctrl + alt + k), сообщение об ошибке появляется где-то в другом месте (попробуйте открыть другую консоль), это похоже на забавную игру.
Если URL-адрес страницы задан с помощью Javascript, а не с помощью навигации (например, Instagram присваивает своим всплывающим окнам URL-адрес постоянной ссылки), Greasemonkey покажет, что скрипт запущен, но на самом деле он не запустится.Попробуйте перезагрузить URL-адрес и посмотреть, действительно ли он переходит на ту же страницу.Если нет, вам придется сопоставить URL домашней страницы вместо URL всплывающего окна.