Idioma
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
Testador de Foco de Janela

Testador de Foco de Janela

Veja em tempo real quando sua janela está com foco, perde o foco ou quando a aba está oculta, com temporizadores ao vivo, contadores e um registro completo de eventos.

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

Escreva código com consciência de foco e visibilidade — pausando vídeos, reduzindo polling de rede, parando animações ou salvando estado quando uma aba não está mais visível.

Meça Seu Foco

Acompanhe com que frequência você sai de uma página. Veja os eventos focus, blur e visibilitychange disparando ao vivo com os valores exatos reportados pelo navegador.
Como funciona: Em vez de tentar adivinhar como os eventos de foco do navegador se comportam, você pode vê-los disparar ao vivo, conferir os valores exatos que o navegador reporta e revisar um histórico com timestamp de cada mudança.

Como Usar a Ferramenta

Siga estes passos para começar a medir os estados de foco e visibilidade da sua janela em tempo real:

1

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.

2

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.

3

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.

4

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.

Controles de sessão: Use o botão Limpar para esvaziar o registro de eventos, ou Resetar para zerar todos os contadores e iniciar uma sessão de medição do zero.

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"?

Sem Foco

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
Oculto

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.

Session time 00:00
Focused
This window currently has focus and is visible.
00:00

Switch to another tab or click another window to watch focus, blur and visibility events tracked in real time.

00:00
Time focused
00:00
Time away
0
Times unfocused
0
Tab switches
00:00
Longest focus
document.hasFocus() true
document.visibilityState visible
Event log
No events yet — leave or return to this window to record events.
Clique em outra janela de aplicativo para acionar o estado Sem Foco
Troque de aba ou minimize a janela para acionar o estado Oculto
Observe o painel de valores brutos para ver os valores ao vivo de document.hasFocus() e document.visibilityState
Pressione Resetar para zerar todos os contadores e iniciar uma nova sessão
Tudo roda localmente no seu navegador — nenhum dado é enviado a lugar nenhum
Quer saber mais? Leia a documentação →
1/6
Comentários 0
Deixe um Comentário

Ainda não há comentários. Seja o primeiro a comentar!

Não encontrou? Crie sua própria ferramenta com IA
Comece a digitar para pesquisar...
Pesquisando...
Nenhum resultado encontrado
Tente pesquisar com palavras-chave diferentes