Wie Sie feststellen, warum ein Greasemonkey-Skript nicht ausgeführt wird [Duplicate]

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

  •  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?

War es hilfreich?

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 .

So

Wenn 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top