Mein sehr einfaches Greasemonkey-Skript läuft nicht?

8

Ich habe Probleme mit diesem grundlegenden Greasemonkey-Skript, höchstwahrscheinlich mit der Metadatenkonfiguration.

Hier ist die vollständige Quelle der Basisdatei

%Vor%

Dieses Skript sollte ausgeführt werden, wenn ich auf Google.com zugreife, aber die Warnung wird nicht angezeigt. Was ist das Problem?

Ich versuche, dieses Skript auf Ubuntu mit Firefox auszuführen.

    
John Galt 26.06.2015, 23:42
quelle

1 Antwort

22

Wenn alerts() nicht zündet, besteht die Möglichkeit, dass Sie auf die Option Prevent this page from creating additional dialogs von Firefox geklickt oder eine Browsereinstellung (ältere Firefox-Versionen) festgelegt haben oder dass Firefox im Speicher instabil geworden ist .

Universal Greasemonkey Debug-Schritte:

(Bei Problemen mit alert() wurde ein Schritt hinzugefügt.)

  1. Stellen Sie zunächst sicher, dass das Skript sogar für die betreffende Seite ausgelöst wird.
    Klicken Sie während des Browsens auf diese Seite auf das nach unten zeigende Dreieck neben dem Greasemonkey-Symbol (Alternativ können Sie Tools - & gt; Greasemonkey auf der Seite öffnen Firefox-Menü.) Und vergewissern Sie sich, dass der erwartete Skriptname angezeigt und aktiviert ist. ZB:

  2. Sehen Sie, ob relevante Meldungen / Fehler auf Firefox Browser-Konsole .
    Aktivieren Sie die Konsole, indem Sie Strg Umschalt J oder gleichwertig drücken.

    Hier ist ein Screenshot, der zeigt, wie sowohl Nachrichten als auch Fehler in der Browser Console erscheinen - verursacht durch die Webseite und das Greasemonkey-Skript:

  3. Öffnen Sie about:config , suchen Sie nach capability.policy.default.Window.alert und löschen oder setzen Sie den Wert zurück, falls er gefunden wird.

  4. Dein Greasemonkey-Skript deinstallieren.
  5. Löschen Sie den Browser-Cache vollständig.
  6. Firefox vollständig herunterfahren. Verwenden Sie den Task-Manager oder einen gleichwertigen Dienst, um zu überprüfen, dass kein Firefox-Thread / Task / Prozess im Speicher vorhanden ist.
  7. Firefox neu starten.
  8. Installieren Sie das Greasemonkey-Skript neu.
  9. Wenn es immer noch nicht funktioniert, erstellen Sie ein neues Firefox-Profil oder versuchen Sie es mit einem anderen Computer

Zusätzliche Probleme:

  1. Bitte geben Sie Ihre Versionen von drei Dingen an: (1) Das Betriebssystem, (2) Firefox, (3) Greasemonkey oder Tampermonkey oder Scriptish, etc.

  2. @include * bedeutet, dass das Skript für jede Seite ausgelöst wird! Dies ist fast immer eine schlechte Übung. (Es gibt einige Ausnahmen, aber Ihr Fall ist keine.)

  3. @namespace steuert nicht, wo die Seite ausgeführt wird. Das einzige, was @namespace tut, ist, dass mehr als ein Skript denselben Namen hat (solange ihre @namespace s sind verschieden). Siehe die Dokumentation @namespace .

  4. Vermeiden Sie die Verwendung von alert() zum Debuggen. Es ist ärgerlich und kann Timing-Probleme maskieren.
    console.log() verwenden. Sie können die Ergebnisse und hilfreiche Fehlermeldungen (Hinweise, Hinweise) auf der Browser-Konsole anzeigen. em>.

  5. Google verwendet / leitet fast immer www.google.com (für Nutzer in den USA). So funktioniert // @include  https://google.com fast nie wie du willst.

    Empfehlen Sie zu verwenden:

    %Vor%

    als Ausgangspunkt.

    In Firefox Greasemonkey können Sie auch die magischen .tld verwenden, um die meisten internationalen Domains von Google zu unterstützen:

    %Vor%

    Verwenden Sie beide Zeilen. Beachten Sie, dass dies nicht so gut funktioniert wie die @match -Zeile. Wenn Sie sich nur für eine Nation / ein Gebietsschema interessieren, verwenden Sie einfach @match .

Alles zusammensetzen:

  1. Dein Skript deinstallieren.
  2. Starten Sie Firefox neu.
  3. Installieren Sie dieses -Skript:

    %Vor%
  4. Rufen Sie Google auf und notieren Sie sich die Ergebnisse in der Firefox-Browserkonsole.

  5. Wenn immer noch ein Problem auftritt, befolgen Sie alle obigen Debug-Schritte.
  6. Wenn immer noch ein Problem besteht, öffnen Sie eine neue Frage, und geben Sie ALLE der folgenden Optionen an:
    1. Die drei oben genannten Versionen.
    2. Die relevanten Fehler und Meldungen, die Sie in der Browser-Konsole erhalten.
    3. Der genaue Code und die Schritte, die erforderlich sind, um das Problem zu duplizieren. Mache dafür ein MCVE!
    4. Eine kurze Zusammenfassung dessen, was Sie versucht haben, das Problem zu lösen.
Brock Adams 27.06.2015, 06:47
quelle