Mais e mais páginas da Web estão incorporando funções de JavaScript que são executados em ciclos em intervalos regulares , quer para o ping em um URL para atualizações ou para proporcionar uma maior interatividade do usuário com a página. Infelizmente, JavaScript consome os recursos da máquina do cliente , incluindo o uso da unidade central de processamento, memória e largura de banda. Com isso em mente , é considerado uma boa prática para programadores não tributar esses recursos quando o usuário não tem necessidade para eles. Uma maneira de fazer isso é para verificar se o navegador (ou uma guia específica dentro do navegador ) tem o foco , e ativar /desativar funções em conformidade. Instruções
1
Criar duas funções, uma para quando o navegador está em foco , e um para quando o seu foco está desfocada :
var onFocus = function () {
< . p code> //inserir a ser executado quando a janela ganhou foco
};
var onBlur = function () {
código
//inserir a correr quando o janela perdeu o foco
}; .
2
Incorporar detecção de recurso . Isto é principalmente para o Internet Explorer , mas é melhor usar a detecção de recursos , em vez de detecção de navegador porque é mais confiável para testar diretamente para o recurso que você deseja manipular. Internet Explorer usa o document.onfocusin propriedade e document.onfocusout invés de window.onfocus e window.onbur , assim você terá que verificar para ver se essas propriedades do documento são definidos :
if ( document.onfocusin = = indefinido ) { var
onfocusin = true; }
else { var
onfocusin = false; }
< br > 3
Conclua o código ligando os eventos focus /borrão adequado às funções criadas na Etapa 1 :
if ( onfocusin === true) {
document.onfocusin = onFocus ;
document.onfocusout = onBlur ;
} else {
window.onfocus = onFocus ;
window.onblur = onBlur ;
}