2010-10-01 6 views
3

Le code im utilisant actuellement est ceComment puis-je détecter si la fenêtre du navigateur est actif

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

L'idée est qu'il peut être utilisé comme celui-ci

if(focus) { //do something 
} 

Cependant son ne fonctionne pas. En outre, il a seulement besoin de travailler sur Chrome (donc pas de matériel IE hérité) depuis son pour une extension Chrome.

Répondre

3

La raison pour laquelle cela ne fonctionne pas est que vous appelez immédiatement les fonctions et que vous attribuez la valeur de retour undefined à onfocus et onblur.

A la place, onfocus et onblur doivent référencer les fonctions par leur nom.

Essayez ceci:

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

Notez que j'ai enlevé les opérateurs () d'appel. Maintenant, onfocus et onblur font référence aux fonctions et les appellent lorsque les événements se produisent.

+0

Merci, ça l'a corrigé. – Tom

Questions connexes