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.
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 .
(Bei Problemen mit alert()
wurde ein Schritt hinzugefügt.)
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:
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:
Ö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.
Bitte geben Sie Ihre Versionen von drei Dingen an: (1) Das Betriebssystem, (2) Firefox, (3) Greasemonkey oder Tampermonkey oder Scriptish, etc.
@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.)
@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
.
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>.
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:
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
.
Installieren Sie dieses -Skript:
%Vor%Rufen Sie Google auf und notieren Sie sich die Ergebnisse in der Firefox-Browserkonsole.
Tags und Links javascript debugging firefox greasemonkey