1
我正在開發一個Firefox瀏覽器未激活時需要通知的擴展(user-interaction-inactive
)。我爲此註冊了一個觀察者,如下面的代碼所示。Firefox擴展 - 用戶交互非活動通知僅觸發一次
我的問題是,觀察員只通知我的擴展一次。這意味着,當Firefox應用程序啓動時,我將其他一些窗口帶到最前面,它會在短時間內通知我。但是,當我再次將Firefox帶到最前沿時,請關閉生成的警報(如下所示),然後使用其他應用程序一段時間,此事件不會再次觸發。
任何有關這方面的援助將不勝感激。
observer = WWWUP_EventHandlers.WWWUP_Observer;
observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
observerService.addObserver(observer, "user-interaction-inactive", false);
WWWUP_EventHandlers = {
WWWUP_Observer : {
observe : function(subject, topic, data){
if(topic.toLowerCase() == "user-interaction-inactive"){
alert("User isn't interacting with the browser");
}
}
}
};
雖然我同意並欣賞你的回答,你能否給我一個解釋,爲什麼它只被解僱一次?爲什麼在另一次活動之後沒有檢測到非活動狀態後,它會再次失敗? –
@HeshanPerera - 我的代碼?只要不活動,它就會繼續射擊。而且,是的,在新的活動結束後它應該再次開火。試試看。 (重新閱讀,我覺得我有點不清楚,讓我重新說一下。) –
沒有這個代碼..它完美的工作,解決了我的問題。我指的是「用戶交互非活動」如何工作。 –