我正在创建一个firefox扩展。我必须在扩展程序的js文件中的某些条件后重启firefox。 那么如何通过扩展javascript重启firefox浏览器呢? 提前谢谢。
答案 0 :(得分:2)
使用this code:
function restart() {
let canceled = Cc["@mozilla.org/supports-PRBool;1"]
.createInstance(Ci.nsISupportsPRBool);
Services.obs.notifyObservers(canceled, "quit-application-requested", "restart");
if (canceled.data) return false; // somebody canceled our quit request
// disable fastload cache?
if (getPref("disable_fastload")) Services.appinfo.invalidateCachesOnRestart();
// restart
Cc['@mozilla.org/toolkit/app-startup;1'].getService(Ci.nsIAppStartup)
.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
return true;
}
答案 1 :(得分:1)
以下将调用已存在的Mozilla重启命令(确保完成所有适当的清理)。
这将从您可以访问浏览器窗口元素的上下文(即从您打开的对话框窗口(例如选项对话框))开始工作:
window.opener.content.document.getElementById('cmd_restartApp').doCommand();