¿Cómo cierro una pestaña de Firefox desde un script greasemonkey?
-
11-07-2019 - |
Pregunta
Tengo un script de usuario de greasemonkey con esta única línea de código ...
window.close();
pero firefox no permite que un script de usuario cierre una ventana (según lo informado por un mensaje de error en la consola de error)
¿Hay alguna solución para este problema?
Solución
Debe cambiar la configuración de Firefox (about: config) para permitir esto.
Pasos:
- Vaya a la barra de direcciones y escriba about:config
- Ir al parámetro dom.allow_scripts_to_close_windows
- Establezca su valor como true
Ahora su script puede cerrar la pestaña con 'window.close ()'
eg.
function closeTab(){
window.open('', '_self', '');
window.close();
}
Otros consejos
Dado que Firefox trata el código de Greasemonkey con los mismos privilegios que el código de script en sitios web externos, no es posible permitir que el código de Greasemonkey pueda cerrar las ventanas, pero no los scripts normales.
Por ahora, algunos de los -monkies permiten el uso de la opción @grant para desbloquear oficialmente comandos como window.close () sin ir a acerca de: config . Por ejemplo, en Tampermonkey :
// @grant window.close
// @grant window.focus
(El último grant le permite reenfocar el navegador en su ventana). Esto eliminaría el error.