Firefox-Addon:重新启动并保存所有当前标签和窗口

时间:2010-04-21 14:30:43

标签: firefox firefox-addon xul

首先,这是我第一次尝试编写附加组件。话虽这么说,我试图写一个附加组件,使一些配置更改,并需要重新启动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);  

问题是,它重新启动并打开浏览器窗口,无论用户主页当前设置的是什么。我希望它重新打开之前在重新启动之前打开的所有窗口/选项卡(类似于安装新加载项时发生的情况)。

以前有人曾经搞过这种类型的功能吗?

1 个答案:

答案 0 :(得分:1)

如果您的目标是Firefox 3+,您可以尝试使用FUEL Application.restart()函数。它可能只是调用你已经尝试过的相同底层代码,但值得一试。

https://developer.mozilla.org/en/Toolkit_API/extIApplication#restart.28.29

您可能也对监控首选项感兴趣(也许它可以消除重新启动的需要):

https://developer.mozilla.org/en/Code_snippets/Preferences#Using_preference_observers

不要使用FUEL偏好观察者 - 我刚发现他们间歇性地失败(https://bugzilla.mozilla.org/show_bug.cgi?id=488587)所以请改用XPCOM观察者。