我正在开发一个firefox扩展,我希望能够关闭firefox窗口本身(没有任何确认)。例如,如果已加载特定URL,我想关闭firefox窗口。使用gBrowser可以轻松打开/关闭选项卡,关闭firefox窗口怎么样?
谢谢
答案 0 :(得分:4)
Components
.classes['@mozilla.org/toolkit/app-startup;1']
.getService(Components.interfaces.nsIAppStartup)
.quit(Components.interfaces.nsIAppStartup.eAttemptQuit)
var boot = Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(Components.interfaces.nsIAppStartup);
boot.quit(Components.interfaces.nsIAppStartup.eForceQuit|Components.interfaces.nsIAppStartup.eRestart);
eConsiderQuit :如果所有窗口都关闭,则尝试退出。
eAttemptQuit :尝试关闭所有窗口,如果成功则退出
eForceQuit :强制所有窗口关闭,然后退出
eRestart :退出后重启应用程序。应用程序将使用相同的配置文件和空命令行重新启动。
答案 1 :(得分:1)
听起来很明显,但您使用window.close()
来关闭XUL窗口。至于警告,最好的方法可能是暂时将browser.tabs.warnOnClose
首选项切换为false
。这样的事情应该有效:
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);