我正在尝试检测Firefox是否在前台运行(以跟踪在网站上花费的时间)。
是否有比跟踪激活/停用新窗口更简单的方法?
答案 0 :(得分:1)
tabs
模块提供activate
和deactivate
个活动。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
})