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

Javascript 如何检测浏览器窗口是否处于活动状态,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,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内容),因

我目前使用的代码是

var focus;
function focuswindow() { focus = true; }
function hidewindow() { focus = false; }
window.onfocus = focuswindow();
window.onblur = hidewindow();
想法是它可以像这样使用

if( focus ) { //do something
}

但是它不起作用。另外,它只需要在Chrome上工作(因此没有遗留的IE内容),因为它是用于Chrome扩展的。

它不工作的原因是您正在立即调用函数,并将
未定义的返回值分配给
onfocus
onblur

相反,
onfocus
onblur
应该按名称引用函数

试试这个:

window.onfocus = focuswindow;
window.onblur = hidewindow;
请注意,我删除了
()
呼叫操作符。现在,
onfocus
onblur
正在引用函数,并将在事件发生时调用它们