2010-10-01 109 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