Wie Sie feststellen, warum ein Greasemonkey-Skript nicht ausgeführt wird [Duplicate]
-
05-07-2019 - |
Frage
Diese Frage bereits eine Antwort hier:
Ich versuche, ein Greasemonkey-Skript zu erhalten auf einer Seite zu laufen. Aber es funktioniert nicht.
Wie debuggen Sie Skripts?
Was sind die kleinstmöglichen Baby-Schritte, um einen neuen Greasemonkey-Skript zu starten?
Lösung
können Sie Protokolle überall in Ihre Skripte schreiben, um eine bessere Spuren von dem, was, wenn in ihnen getan:
GM_log("Hello, World!");
http://wiki.greasespot.net/GM_log
Mehr Infos: http://wiki.greasespot.net/Greasemonkey_Manual:Other_Useful_Tools#JavaScript_Console
Noch ein Tipp: Werfen Sie einen Blick auf die ganze Greasemonkey Wiki. Sie haben viele gute Sachen drin: http://wiki.greasespot.net/Main_Page
Andere Tipps
Wenn ich mit Benutzerskripten Start war mein erster Fehler war kein Platzhalter verwendet wird.
// Broken:
// @include https://www.example.com/
// Working:
// @include https://www.example.com/*
Das ist der einfachste Weg für das Skript nicht einmal anwenden und somit nicht ausgeführt. Darüber hinaus stellen Sie sicher, dass auf Syntaxfehler zu überprüfen; ein verlegtes Semikolon aus dem Skript verhindert analysiert werden, und somit wird es ignoriert.
In Firefox unter Extras> Fehlerkonsole und beobachten Sie, wie Sie die Seite laden. Wenn Sie durch Warnungen von der Seite überwältigt sind immer Sie auf Fehler filtern können, die immer noch oft das Skript Problem hervorhebt.
Mein Greasemonkey-Skript arbeitet; Ich habe eine Linie; es aufgehört zu arbeiten; Ich entfernte die Linie; es funktioniert immer noch nicht.
ich festgestellt, dass Grease einen gebrochenen updater.php
Skript installiert hatte, als ich das Drehbuch neu geladen mit der neuen Zeile hinzugefügt. das alte Skript Nachladen hielt die gebrochene Version des updater.php
Skript. Schließlich fand ich eine Fehlermeldung in meiner Firefox Web-Konsole mit dem updater.php
Skript verweist. Ich ersetzte die updater.php
Skript mit einer Datei einen Kommentar nach dem Laden der neuen Version des Skripts enthält, und mein Skript gestartet ausgeführt wird.
Auf dem Mac meine updater.php
war in: /Users/csimmons/Library/Application Support/Firefox/Profiles/81ri7k71.default/gm_scripts/Extended_LoU_Tweak
Sie können möglicherweise eine ähnliche updater.php
Datei in Ihrem Firefox-Standardprofil gm_scripts/
suchen.
Für mich war es ein Syntaxfehler im Skript und Greasemonkey nicht einer Fehlermeldung ausgeben. Copy-Einfügen des Skripts auf die JS-Konsole enthüllt das Geheimnis.
Stellen Sie sicher, dass Greasemonkey ist in erster Linie aktiviert:
Auch ist die Syntax von @include
nur ein passendes Muster zu haben. Wenn Sie ein anderes wollen, fügen Sie eine weitere @include
Linie.
Ich hatte dieses Problem auch; dies war die Lösung für mich:
-
Überprüfen Sie die (und Ändern Sie den tricky) Teil des Codes Ich arbeitete an, wenn es passieren,
-
deinstallieren und neu installieren Greasemonkey
-
dann bekam ich einen echten Fehlerbericht
EDIT: (neue Version) Heute ist die probleme häufiger kommen als gewöhnlich Es sieht aus wie Firefox Web-Tools sind kämpfen mit Greasemonkey oder JS-Engine für Fehlermeldungen .
SoWenn Sie suchen irgendwo (Strg + Alt + k) die Fehlermeldung irgendwo anders erscheint (versuchen, die andere Konsole zu öffnen) es ist wie ein lustiges Spiel.
Wenn die URL einer Seite mit Javascript gesetzt wird, anstatt durch die Navigation (wie Instagram seine Popup-Fenster einen Permalink URL zu geben), zeigt Grease das Skript als Laufen, aber es wird tatsächlich nicht gestartet werden. Versuchen Sie, die URL neu zu laden und zu sehen, ob es tatsächlich auf die gleiche Seite geht. Wenn nicht, werden Sie die Homepage-URL anstelle der Popup-URL übereinstimmen müssen.