Firefox-Addon: перезапустите и сохраните все текущие вкладки и окна - PullRequest
1 голос
/ 21 апреля 2010

Во-первых, это моя первая попытка написания дополнения. При этом я пытаюсь написать дополнение, которое вносит некоторые изменения в конфигурацию и нуждается в перезапуске 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 Ответ

1 голос
/ 28 апреля 2010

Если вы нацелены на 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.

...