Flere og flere nettsider er å innlemme JavaScript-funksjoner som kjører i sløyfer med jevne mellomrom , enten for å pinge en URL for oppdateringer eller for å gi større bruker interaktivitet med siden . Dessverre bruker JavaScript ressursene i kundens maskin , inkludert central processing unit bruk, minne og båndbredde. Med det i tankene , er det ansett som god praksis for programmerere å ikke skattlegge disse ressursene når brukeren ikke har behov for dem . En måte å gjøre det på er å sjekke om nettleseren ( eller en bestemt fane i nettleseren ) har fokus, og aktivere /deaktivere funksjoner tilsvarende. Instruksjoner
en
Lag to funksjoner , en for når nettleseren er i fokus, og en for når fokuset er uskarpt : en
Var onFocus = function ( ) {
< p> //sette inn kode kjøres når vinduet har fått fokus
}; .
Var onBlur = function ( ) {
//insert kode kjøres når vindu har mistet fokus
}; .
2
innlemme funksjonen gjenkjenning. Dette er først og fremst for Internet Explorer , men det er best å bruke funksjonen deteksjon stedet nettleser gjenkjenning fordi det er mer pålitelig å direkte teste for funksjonen du ønsker å manipulere . Internet Explorer bruker eiendommen document.onfocusin og document.onfocusout snarere enn window.onfocus og window.onbur , så du må sjekke for å se om de dokumentegenskaper er definert:
if ( document.onfocusin = ! = udefinert ) {
Var onfocusin = true;
} else {
Var onfocusin = false;
}
3
Fullfør koden ved å binde de riktige fokus /blur hendelser til funksjonene som er opprettet i trinn 1 : en
if ( onfocusin === true) {
document.onfocusin = onFocus ;
document.onfocusout = onBlur ;
} else {
window.onfocus = onFocus ;
window.onblur = onBlur ;
< p> }