firefox sdk:跟踪firefox是否在后台运行

时间:2015-02-01 23:24:49

标签: firefox firefox-addon firefox-addon-sdk

我正在尝试检测Firefox是否在前台运行(以跟踪在网站上花费的时间)。

是否有比跟踪激活/停用新窗口更简单的方法?

2 个答案:

答案 0 :(得分:1)

  • tabs模块提供activatedeactivate个活动。
  • 另一种方式是Page Visibility API,您可以使用,例如在PageMod中。当浏览器窗口最小化时也会触发。

如果(AFAIK)浏览器窗口本身变得没有聚焦,这两个都不会触发。

答案 1 :(得分:1)

我最终使用了windows.browserWindows.on关闭并停用/打开并激活,再加上tabs.on activate,deactive,close,ready以及tabs.activeTab.id/url/title

var active = true

/////////////////////////////////////////////
// Active Firefox?
////////////////////////////////////////////

// testing purpose

//tmr.setInterval(function(){console.log(active)}, 500)

//
// detect if firefox is running in foreground
//

windows.browserWindows.on('open', function(window) {
    active = true
})


windows.browserWindows.on('activate', function(window) {
    active = true
})

//
// detect is firefox is running in background
//

windows.browserWindows.on('deactivate', function(window) {
    active = false
})

windows.browserWindows.on('close', function(window) {
    active = false
})