Firefox扩展如何检查Firefox是否是活动应用程序?

时间:2014-01-27 21:09:32

标签: firefox-addon firefox-addon-sdk

我在browserWindows上看到了activatedeactivate个事件。它们分别在Firefox变为活动或非活动时触发,但是当焦点从一个Firefox窗口转移到另一个窗口时它们也会触发,并且似乎无法区分这两种情况。

特别是,browserWindows.activeWindow始终是Firefox的首选窗口,无论Firefox是否为活动应用程序。

我想同时1)能够检查Firefox是否是活动应用程序,以及2)当Firefox变为活动或不活动时收到通知。

如果有必要,我愿意使用XPCOM,但我也找不到我想要的东西。

1 个答案:

答案 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最初是否为活动应用程序的任何想法。