如何检测浏览器窗口是否处于活动状态

时间:2010-10-01 17:36:29

标签: javascript html5 google-chrome google-chrome-extension

我目前正在使用的代码是

var focus;
function focuswindow() { focus = true; }
function hidewindow() { focus = false; }
window.onfocus = focuswindow();
window.onblur = hidewindow();

这个想法是它可以像这样使用

if( focus ) { //do something
}

然而它不起作用。此外,它只需要在Chrome上工作(因此没有传统的IE内容),因为它适用于Chrome扩展程序。

1 个答案:

答案 0 :(得分:3)

它不起作用的原因是您立即调用函数并将undefined的返回值分配给onfocusonblur

相反,onfocusonblur应该按名称引用这些功能。

试试这个:

window.onfocus = focuswindow;
window.onblur = hidewindow;

请注意,我删除了()个呼叫运营商。现在onfocusonblur正在引用这些函数,并会在事件发生时调用它们。