2010-10-01 108 views
3

目前使用的代码IM是这个如何检测如果浏览器窗口被激活

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

的想法是,它可以像这样

if(focus) { //do something 
} 

但是它不工作使用。此外,它只需要在Chrome上工作(因此没有传统IE的东西),因为它的Chrome扩展。

回答

3

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

取而代之,onfocusonblur应该按名称引用功能。

试试这个:

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

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

+0

谢谢,这解决了它。 – Tom 2010-10-01 17:55:38