Wie schließe ich ein Firefox-Tab von einem Greasemonkey-Skript?
-
11-07-2019 - |
Frage
Ich habe einen Greasemonkey-Skript Benutzer mit dieser Zeile Code ...
window.close();
aber Firefox erlaubt es nicht, ein Benutzer-Skript ein Fenster zu schließen (wie durch eine Fehlermeldung in der Fehlerkonsole gemeldet)
Gibt es eine Arbeit um für dieses Problem?
Lösung
Sie müssen die Konfigurationseinstellungen von Firefox ändern (about: config). Dies zulassen
Schritte:
- Zur Adresse bar und Typ about: config
- Gehen Sie in den Parameter dom.allow_scripts_to_close_windows
- Stellen Sie den Wert true
Sie nun Ihr Skript kann das TAB mit schließen 'window.close ()
zB.
function closeTab(){
window.open('', '_self', '');
window.close();
}
Andere Tipps
Da Firefox Greasemonkey-Code mit dem gleichen privilages als Script-Code behandelt auf externe Websites, ist es nicht möglich ist, nur Grease Code erlaubt die Lage sein, die Fenster zu schließen, aber nicht regelmäßig Skripte.
Mit dem nun einige der -monkies erlauben die Verwendung von @grant Option, um offiziell Befehle zu entsperren wie window.close () ohne Umweg zu about: config . Zum Beispiel in Tampermonkey :
// @grant window.close
// @grant window.focus
(Letzteres Zuschuss können Sie den Browser auf Ihrem Fenster neu zu konzentrieren.) Dies würde den Fehler entfernen.