我正在开发一个firefox扩展,我希望能够关闭firefox窗口本身(没有任何确认)。例如,如果加载了特定的URL,我想关闭firefox窗口。用gBrowser打开/关闭标签很容易,关闭火狐窗口怎么样?
谢谢
发布于 2012-01-31 16:58:58
退出Firefox
Components
.classes['@mozilla.org/toolkit/app-startup;1']
.getService(Components.interfaces.nsIAppStartup)
.quit(Components.interfaces.nsIAppStartup.eAttemptQuit)重新启动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);其他有用的标志
eConsiderQuit:如果所有窗口都已关闭,则尝试退出。
eAttemptQuit:尝试关闭所有窗口,如果成功则退出。
eForceQuit:强制关闭所有窗口,然后退出。
eRestart:退出后重启应用。应用程序将使用相同的配置文件和一个空的命令行重新启动。
发布于 2012-01-30 15:25:27
这听起来很明显,但是您使用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);https://stackoverflow.com/questions/9057195
复制相似问题