Come chiudo una scheda firefox da uno script greasemonkey?
-
11-07-2019 - |
Domanda
Ho uno script utente greasemonkey con questa singola riga di codice ...
window.close();
ma firefox non consente a uno script utente di chiudere una finestra (come riportato da un messaggio di errore nella console degli errori)
Esiste un modo per aggirare questo problema?
Soluzione
È necessario modificare le impostazioni di configurazione di Firefox (about: config) per consentirlo.
Passi:
- Vai alla barra degli indirizzi e digita about:config
- Vai al parametro dom.allow_scripts_to_close_windows
- Imposta il suo valore come vero
Ora il tuo script può chiudere la TAB con 'window.close ()'
ad es.
function closeTab(){
window.open('', '_self', '');
window.close();
}
Altri suggerimenti
Poiché Firefox tratta il codice Greasemonkey con gli stessi privilegi del codice dello script su siti Web esterni, non è possibile consentire solo al codice Greasemonkey di chiudere le finestre, ma non a script regolari.
Ormai alcuni -monkies consentono l'uso dell'opzione @grant per sbloccare ufficialmente comandi come window.close () senza andare a about: config . Ad esempio, in Tampermonkey :
// @grant window.close
// @grant window.focus
(Quest'ultimo concedi ti consente di ri-focalizzare il browser sulla tua finestra.) Ciò eliminerebbe l'errore.