O Que É o Testador de Foco de Janela?
O Testador de Foco de Janela mostra, em tempo real, se a sua janela do navegador é a janela ativa, se ela perdeu o foco para outro aplicativo ou se a aba está atualmente oculta. Ele combina os eventos focus e blur do navegador com a Page Visibility API para oferecer uma visão precisa e instantânea de como sua janela está sendo usada.
Feito para Desenvolvedores
Meça Seu Foco
focus, blur e visibilitychange disparando ao vivo com os valores exatos reportados pelo navegador.- 1. O Que É o Testador de Foco de Janela?
- 2. Como Usar a Ferramenta
- 3. Funcionalidades
- 4. Perguntas Frequentes
- 4.1. Qual é a diferença entre "Sem Foco" e "Oculto"?
- 4.2. Por que abrir o DevTools muda o estado para Sem Foco?
- 4.3. Por que às vezes vejo duas entradas no registro para uma única troca de aba?
- 4.4. Os temporizadores são precisos quando a aba está em segundo plano?
- 4.5. A ferramenta mantém meus dados após eu fechar a página?
Como Usar a Ferramenta
Siga estes passos para começar a medir os estados de foco e visibilidade da sua janela em tempo real:
Abra a Ferramenta
Observe o banner de status grande — ele começa no estado Focado, confirmando que a ferramenta está ativa e detectando sua janela.
Mude para Outro App
Clique em outra janela de aplicativo mantendo esta aba visível na tela. O banner muda para Sem Foco — a janela perdeu o foco, mas a aba continua visível.
Oculte a Aba
Mude para outra aba do navegador ou minimize a janela. O banner muda para Oculto, indicando que a aba não está mais visível.
Volte para a Aba
Volte para ver o estado mudar para Focado e uma nova entrada aparecer no registro de eventos com um timestamp preciso.
Estatísticas ao Vivo & Controles
Conforme você interage, os cards de estatísticas são atualizados ao vivo com as seguintes métricas:
- Tempo total em foco e tempo total fora
- Número de vezes que você saiu do foco
- Número de trocas de aba
- Seu maior período consecutivo de foco
O painel de valores brutos abaixo dos cards mostra os valores ao vivo exatos de document.hasFocus() e document.visibilityState a cada momento.
Funcionalidades
O Testador de Foco de Janela combina múltiplas APIs do navegador em uma visão única e unificada do estado da sua janela.
Detecção de Três Estados
Detecta de forma confiável os estados Focado, Sem Foco e Oculto usando document.hasFocus() e document.visibilityState, independentemente da ordem em que os eventos disparam.
Temporizadores ao Vivo
O tempo total em foco e o tempo total fora são atualizados continuamente, junto com um temporizador para o estado atual e outro para toda a sessão.
Contadores Independentes
Perdas de foco da janela e trocas de aba são rastreadas separadamente — um clique em outro app é claramente distinguido de uma troca de aba.
Maior Período de Foco
Registra e atualiza em tempo real o seu maior período ininterrupto de foco.
Leitura Bruta das APIs
Exibe os valores booleanos e de string retornados diretamente pelas APIs do navegador subjacentes, com total transparência.
Registro de Eventos
Cada mudança de estado é registrada com um timestamp e a duração do estado anterior, exibida com a entrada mais recente primeiro.
Seus Dados Ficam Privados
Toda a detecção roda inteiramente no seu navegador — nenhum dado sai do seu dispositivo.
- Sem uploads — nada é enviado a nenhum servidor
- Sem rastreamento — sua atividade nunca é coletada ou armazenada
Perguntas Frequentes
Qual é a diferença entre "Sem Foco" e "Oculto"?
Janela Perdeu o Foco
- Você clicou em outro aplicativo
- A aba ainda está visível na tela
- O conteúdo da página permanece visível
Aba Não Visível
- Você mudou para outra aba do navegador
- Ou a janela do navegador foi minimizada
- O conteúdo da página não está mais visível
Por que abrir o DevTools muda o estado para Sem Foco?
Quando o DevTools assume o foco do teclado, document.hasFocus() retorna false mesmo que a página ainda esteja na tela. A ferramenta reporta isso corretamente como o estado Sem Foco — esse é o comportamento esperado do navegador, não um bug.
Por que às vezes vejo duas entradas no registro para uma única troca de aba?
Alguns navegadores disparam o evento blur antes da mudança de visibilidade. Nesse caso, a janela primeiro fica Sem Foco e depois Oculta, então ambas as transições são registradas. Os contadores ainda incrementam corretamente — uma vez por saída de foco e uma vez pela aba ficar oculta.
Os temporizadores são precisos quando a aba está em segundo plano?
Sim. Os tempos são calculados a partir de timestamps e não de um contador em execução, portanto a limitação de temporizadores em segundo plano que os navegadores aplicam não afeta os totais. Você sempre obtém o tempo decorrido preciso, independentemente da visibilidade da aba.
A ferramenta mantém meus dados após eu fechar a página?
Não. Cada visita inicia uma sessão completamente nova. Nada é salvo no armazenamento local, em cookies ou em qualquer servidor externo — seus dados desaparecem no momento em que você fecha ou atualiza a página.
Ainda não há comentários. Seja o primeiro a comentar!