我在browserWindows
上看到了activate和deactivate个事件。它们分别在Firefox变为活动或非活动时触发,但是当焦点从一个Firefox窗口转移到另一个窗口时它们也会触发,并且似乎无法区分这两种情况。
特别是,browserWindows.activeWindow
始终是Firefox的首选窗口,无论Firefox是否为活动应用程序。
我想同时1)能够检查Firefox是否是活动应用程序,以及2)当Firefox变为活动或不活动时收到通知。
如果有必要,我愿意使用XPCOM,但我也找不到我想要的东西。
答案 0 :(得分:1)
我刚刚定义了一个全局变量来跟踪状态,当用户在Firefox窗口之间切换时,依赖Firefox始终在deactivate
之前调度activate
:
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最初是否为活动应用程序的任何想法。