Pau*_*aul 14 browser google-chrome focus window
有没有办法找出Google Chrome是关注焦点还是失焦?我正在创建一个应用程序,需要知道用户当前是否正在使用浏览器.
通过在Google扩展程序中通过内容脚本绑定检测,我尝试使用模糊和焦点,但问题是单击地址栏也会触发模糊事件.检测鼠标移动也是如此,其中将不会检测到将鼠标移动到观看区域之外.
我也试过看onFocusChanged,但它似乎只能检测出chromes'窗口中的变化而不是Chrome之外的应用程序.
有人对此有其他想法吗?另外,如果我为firefox创建了一个附加组件,这会更容易吗?
谢谢!
J M*_*Max 12
您可以使用chrome.windows
API来监控它.您将为onFocusChanged
事件添加一个侦听器,如果事件已返回,-1
或者chrome.windows.WINDOW_ID_NONE
您知道浏览器失去焦点:
var inFocus = true; // global boolean to keep track of state
chrome.windows.onFocusChanged.addListener(function(window) {
if (window == chrome.windows.WINDOW_ID_NONE) {
inFocus = false;
} else {
inFocus = true;
}
});
Run Code Online (Sandbox Code Playgroud)
也许有些人看不到@Giedrius的评论。此间隔有效:
window.setInterval(checkBrowserFocus, 1000);
function checkBrowserFocus(){
chrome.windows.getCurrent(function(browser){
console.log(browser.focused)
})
}
Run Code Online (Sandbox Code Playgroud)
是的,这是通过操纵模糊和焦点事件来完成的。就像 jQuery 中的这个例子:
$(window).blur(function(){
// do something when it loose focus like that:
alert('Good Bye.');
});
$(window).focus(function(){
// do something when it gains focus
alert('Welcome back.');
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5502 次 |
最近记录: |