2012-01-29 17 views
5

Estoy desarrollando una extensión de Firefox y quiero poder cerrar la ventana de Firefox (sin ninguna confirmación). Por ejemplo, quiero cerrar la ventana de Firefox si se ha cargado una URL específica. Abrir/cerrar la pestaña es fácil con gBrowser, ¿qué tal cerrar la ventana de Firefox?Extensión de Firefox para cerrar la ventana de Firefox

Gracias

Respuesta

4

Para salir de Firefox

Components 
    .classes['@mozilla.org/toolkit/app-startup;1'] 
    .getService(Components.interfaces.nsIAppStartup) 
    .quit(Components.interfaces.nsIAppStartup.eAttemptQuit) 




Para reiniciar Firefox

var boot = Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(Components.interfaces.nsIAppStartup); 
boot.quit(Components.interfaces.nsIAppStartup.eForceQuit|Components.interfaces.nsIAppStartup.eRestart); 




Banderas adicional útil

eConsiderQuit: intento de dejar de fumar si todas las ventanas están cerradas.
eAttemptQuit: intente cerrar todas las ventanas, luego salga si tiene éxito.
eForceQuit: Fuerce todas las ventanas para cerrar, luego cierre.
eRestart: reinicie la aplicación después de salir. La aplicación se reiniciará con el mismo perfil y una línea de comando vacía.

1

Suena obvio, pero usted utiliza window.close() para cerrar una ventana XUL. En cuanto a la advertencia, la mejor manera es, probablemente, cambiar temporalmente la preferencia browser.tabs.warnOnClose a false. Algo como esto debería funcionar:

Components.utils.import("resource://gre/modules/Services.jsm"); 

var prefName = "browser.tabs.warnOnClose"; 
var restorePref = false; 
if (Services.prefs.getBoolPref(prefName)) 
{ 
    Services.prefs.setBoolPref(prefName, false); 
    restorePref = true; 
} 

window.close(); 

if (restorePref) 
    Services.prefs.setBoolPref(prefName, true); 
Cuestiones relacionadas