如何从firefox扩展重启Mozilla Firefox浏览器

时间:2014-09-30 07:33:41

标签: javascript firefox firefox-addon

我正在创建一个firefox扩展。我必须在扩展程序的js文件中的某些条件后重启firefox。 那么如何通过扩展javascript重启firefox浏览器呢? 提前谢谢。

2 个答案:

答案 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();