Fler och fler webbsidor som innehåller JavaScript-funktioner som körs i slingor med jämna mellanrum , antingen för att pinga en URL för uppdateringar eller för att ge större användaren interaktivitet med sidan . Tyvärr förbrukar JavaScript resurser kundens maskin , inklusive centralenhet , minnesanvändning och bandbredd . Med detta i åtanke , är det anses vara god praxis för programmerare att inte beskatta dessa resurser när användaren inte har behov av dem . Ett sätt att göra det är att kontrollera om webbläsaren ( eller en särskild flik i webbläsaren ) har fokus , och aktivera /avaktivera funktioner därefter. Instruktioner
1
Skapa två funktioner , en för när webbläsaren är i fokus , och en för när dess fokus är suddig :
var onFocus = function ( ) {
//infoga kod körs när fönstret har fått fokus
}; .
var onBlur = function ( ) {
//infoga kod körs när fönstret har tappat fokus
}; .
2
Införliva funktionen upptäckt . Detta är främst för Internet Explorer , men det är bäst att använda funktionen upptäckt snarare än webbläsare upptäckt eftersom det är mer tillförlitligt att direkt testa för den funktion du vill ändra . Internet Explorer använder fastigheten document.onfocusin och document.onfocusout stället window.onfocus och window.onbur , så du måste kontrollera för att se om dessa dokumentegenskaper definieras :
om ( document.onfocusin = ! = undefined ) {
var onfocusin = true;
} else {
var onfocusin = false;
}
3
Fyll i koden genom att binda ett lämpligt fokus /oskärpa händelser till de funktioner som skapats i steg 1 :
om ( onfocusin === true ) {
document.onfocusin = onFocus ;
document.onfocusout = onBlur ;
} else {
window.onfocus = onFocus ;
window.onblur = onBlur ;
} Addera