2014-01-27 127 views
1

我在browserWindows上看到activatedeactivate事件。當Firefox分別處於活動狀態或非活動狀態時,它們會被觸發,但當焦點從一個Firefox窗口轉移到另一個時,它們也會觸發,似乎無法區分這兩種情況。Firefox擴展如何檢查Firefox是否爲活動應用程序?

特別是,browserWindows.activeWindow始終是Firefox的首選窗口,無論Firefox是否爲活動應用程序。

我想要1)能夠檢查Firefox是否爲活動應用程序,以及2)在Firefox變爲活動或非活動狀態時收到通知。

如果有必要,我願意使用XPCOM,但是我找不到我要找的東西。

回答

1

我剛剛定義的全局變量來跟蹤狀態,依靠火狐總調度deactivateactivate之前當Firefox窗口之間的用戶切換:

var firefoxActive = true; // assuming Firefox is active when addon starts 

require('sdk/windows').browserWindows 
.on('activate', function (win) { 
    firefoxActive = true; 
}) 
.on('deactivate', function (win) { 
    firefoxActive = false; 
}); 

我仍然感激如何任何想法首先確定Firefox是否爲活動應用程序。