Как определить, почему скрипт Greasemonkey не запущен [дубликат]

StackOverflow https://stackoverflow.com/questions/1410801

  •  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 всплывающего окна.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top