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?

¿Fue útil?

Solución

Debe cambiar la configuración de Firefox (about: config) para permitir esto.

Pasos:

  1. Vaya a la barra de direcciones y escriba about:config
  2. Ir al parámetro dom.allow_scripts_to_close_windows
  3. 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top