2010-04-21 1 views
1

먼저, 이것은 부가 기능을 작성한 첫 번째 시도입니다. 즉, 일부 구성을 변경하고 변경 사항을 적용하기 위해 Firefox를 다시 시작해야하는 추가 기능을 작성하려고합니다. 저는 현재 다음과 같은 코드를 사용하여 파이어 폭스를 다시 시작하고 있습니다 :Firefox-Addon : 현재의 모든 탭과 창을 다시 시작하고 저장하십시오.

 var boot = Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(Components.interfaces.nsIAppStartup); 
    boot.quit(Components.interfaces.nsIAppStartup.eForceQuit|Components.interfaces.nsIAppStartup.eRestart); 

문제는, 그것은 다시 시작되고 사용자의 홈페이지가 현재로 설정되어 무엇에 브라우저 창 (들)을 엽니 다. 다시 시작하기 전에 열려 있던 모든 창/탭을 다시 열어 보겠습니다. (새 추가 기능을 설치할 때와 비슷합니다.)

누구든지 이전에 이런 유형의 기능을 혼란에 빠뜨린 적이 있습니까?

+0

사용자가 애드온을 설치 한 후 정상적으로 재시작하라는 메시지가 표시되지 않습니까? – BenV

+0

어쩌면 내가 제대로 설명하지 않았을 수도 있습니다. 애드온이 설치 될 때와 유사한 방식으로 실행 된 후 내 애드온은 재부팅해야합니다. Firefox를 다시 시작할 때 창과 탭을 저장하고 싶습니다. – nokturnal

답변

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

연료 환경 관찰자를 사용하지 마십시오 - 나는했습니다 단지 (https://bugzilla.mozilla.org/show_bug.cgi?id=488587) 간헐적으로 실패 했으므로 대신 XPCOM 관측기를 사용하십시오.

관련 문제