首先,这是我第一次尝试编写插件。也就是说,我正在尝试编写一个附加组件,进行一些配置更改,并需要重启Firefox才能使更改生效。我目前正在使用以下代码重启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); 问题是,它重新启动并打开浏览器窗口,进入用户主页当前设置的任何位置。我想让它重新打开以前在重启之前打开的所有窗口/标签(类似于安装新的附加组件时发生的事情)。
以前有人用过这种类型的功能吗?
发布于 2010-04-28 06:02:27
如果您的目标是Firefox,您可以尝试使用3+ Application.restart()函数。它可能只调用您已经尝试过的相同的底层代码,但它值得一试。
https://developer.mozilla.org/en/Toolkit_API/extIApplication#restart.28.29
您可能还会对监控首选项感兴趣(也许它可以消除重新启动的需要):
https://developer.mozilla.org/en/Code_snippets/Preferences#Using_preference_observers
不要使用燃料偏好观察器-我刚刚发现它们间歇性地失败(https://bugzilla.mozilla.org/show_bug.cgi?id=488587),所以请使用XPCOM观察器。
https://stackoverflow.com/questions/2683822
复制相似问题