O Cronômetro

O despertador online toca com a aba fechada?

Não. Um despertador online só toca enquanto a página estiver aberta em alguma aba, mesmo que em segundo plano ou com a janela minimizada. Se você fechar a aba ou o navegador, o código que confere a hora para de rodar e nenhum som sai. Para dormir, deixe a aba aberta, o computador na tomada e sem suspensão.

Por que o alarme não toca com a aba fechada?

O alarme não toca com a aba fechada porque quem confere a hora e toca o som é o código da própria página, e esse código deixa de existir quando a aba fecha. Um despertador de celular é um app do sistema; um despertador online é uma página, e o navegador encerra tudo o que a página faz quando você a fecha.

Também não existe, hoje, um recurso padrão da web para agendar um som no futuro com o navegador fechado. O Google chegou a testar uma proposta com esse objetivo, a Notification Triggers API, que deixaria um site agendar uma notificação para um horário. O teste ficou restrito a sites inscritos num origin trial do Chrome, a API nunca foi lançada para todos, e a página oficial do Chrome informa que o desenvolvimento foi encerrado.

A alternativa seria a notificação push, que um servidor envia pela internet. Ela exige um servidor que guarde o seu horário e dispare a mensagem na hora certa, e o resultado é um aviso do sistema, não um alarme em loop. O Cronômetro escolheu o caminho oposto: não há servidor de alarmes, e a sua lista de alarmes nunca sai do aparelho.

E com a aba aberta em segundo plano, ele toca?

Sim, com a aba aberta em segundo plano o alarme toca, inclusive com a janela minimizada ou com outro programa em primeiro plano. O que muda é a frequência das verificações. No Chrome, uma aba oculta é conferida uma vez por segundo e, depois de 5 minutos oculta e 30 segundos em silêncio, uma vez por minuto, regra em vigor desde o Chrome 88, de janeiro de 2021.

Na prática, numa aba esquecida o som sai na hora e a tela de alarme pode chegar até cerca de 1 minuto depois. O Firefox para Android é mais restritivo: segundo a MDN, abas inativas têm intervalo mínimo de 15 minutos e podem ser descarregadas. Quem precisa da tela pontual também deve deixar a aba visível.

Há ainda a economia de memória do Chrome, que desativa abas sem uso e as recarrega quando você volta. A Ajuda do Google Chrome lista atividades que impedem essa desativação, entre elas áudio ativo, notificações da página e guias fixadas. Fixar a aba do despertador e incluí-la em “Sempre manter estes sites ativos”, nas configurações de desempenho do Chrome, evita a surpresa.

O que acontece se o computador entrar em suspensão?

Se o computador entrar em suspensão, a página fica parada junto com o resto do sistema e o alarme só toca quando o computador acordar. Como o despertador compara a hora atual com o horário marcado a cada verificação, a primeira verificação depois que o sistema volta percebe que o horário passou e dispara na hora.

Nesse caso, a tela de alarme do O Cronômetro mostra “atrasado há” e o tempo de atraso, sempre que ele passar de 60 segundos. Na hibernação vale a mesma regra: quando o sistema retorna, a página continua de onde parou e confere o horário na primeira verificação. Com o computador desligado, nada roda.

Para evitar a suspensão, ligue o notebook na tomada e mude o tempo de suspensão para “Nunca” enquanto ele estiver conectado. O passo a passo para Windows e Mac está no guia como colocar despertador no computador sem instalar.

O despertador toca com a tela do celular bloqueada?

Com a tela do celular bloqueada, o toque não é garantido, porque o sistema pode pausar o navegador para poupar bateria. O Android, por exemplo, entra no modo Doze quando o aparelho fica um tempo parado, fora da tomada e com a tela apagada: segundo a documentação oficial para desenvolvedores, o sistema passa a ignorar pedidos para manter o processador acordado e adia alarmes comuns.

Apps de relógio escapam disso porque podem usar um tipo de alarme do sistema, o setAlarmClock do Android, que continua valendo no Doze: o sistema sai do Doze pouco antes do horário. Um site não tem acesso a esse recurso. Por isso, no celular, o despertador online funciona melhor com a tela ligada, a página visível e o aparelho na tomada.

O próprio despertador ajuda nisso: enquanto há alarme ativo e a página está visível, ele pede ao sistema para manter a tela acesa com a Screen Wake Lock API. No iPhone, a Apple só libera notificações de sites para apps web adicionados à Tela de Início, recurso disponível desde o iOS 16.4.

O que ajuda o alarme a tocar na hora?

Cinco cuidados cobrem quase todos os casos em que um despertador online falha:

  1. Aba aberta e, se possível, visível. Em segundo plano o som toca na hora, mas a tela de alarme pode chegar até cerca de 1 minuto depois no Chrome.
  2. Computador acordado. Tomada ligada, suspensão desativada e tampa aberta, a não ser que você tenha mudado a ação da tampa.
  3. App instalado. O despertador abre numa janela própria, fora da pilha de abas, e no iPhone ganha acesso a notificações. Veja como em instalar o despertador como app.
  4. Tela acesa. O despertador pede ao sistema para não apagar a tela enquanto há alarme ativo; com o celular na tomada, isso não pesa na bateria.
  5. Notificação liberada. Com a permissão, o aviso aparece por cima de outras janelas, além do som.
Situação O alarme toca? O que fazer
Aba aberta e visível Sim, no horário Nada
Aba em segundo plano ou janela minimizada Sim; o som sai na hora e a tela pode atrasar até cerca de 1 minuto no Chrome Deixar a aba visível para a tela também chegar na hora
Aba desativada pela economia de memória Depende de você voltar à aba Fixar a aba ou mantê-la sempre ativa
Computador em suspensão Só quando ele acordar Desativar a suspensão na tomada
Celular com tela bloqueada Não é garantido Deixar a tela ligada e o aparelho na tomada
Aba, app ou navegador fechado Não Manter aberto até o alarme tocar
Computador desligado Não Manter ligado e acordado

Se ainda assim o alarme falhar, o guia despertador online não tocou organiza as causas pelo sintoma.

Perguntas frequentes

Se eu instalar o despertador como app, ele toca com o app fechado?

Não. O app instalado é a mesma página aberta numa janela própria; fechado, ele não roda. A vantagem do app é ficar fora das abas, onde é mais difícil fechá-lo sem querer.

Fechar a tampa do notebook desliga o alarme?

Na configuração padrão de muitos notebooks, fechar a tampa coloca o computador em suspensão, e a página para até ele acordar. Se for usar o despertador com a tampa fechada, mude essa opção nas configurações de energia do sistema.

Posso deixar o despertador em outra aba enquanto uso o computador?

Pode. O alarme toca em segundo plano e com a janela minimizada. O som fica agendado no áudio do navegador desde o clique em ativar e sai na hora; no Chrome, como uma aba oculta há mais de 5 minutos é verificada uma vez por minuto, a tela de alarme e a notificação podem chegar até cerca de 1 minuto depois.

Por que o site não usa notificação push para tocar com o navegador fechado?

Push depende de um servidor que envia a mensagem na hora certa, e mesmo assim gera um aviso do sistema, não um alarme que toca em loop. O Cronômetro não tem servidor de alarmes: tudo é calculado no seu aparelho, e a sua lista de alarmes nunca sai dele; as estatísticas anônimas registram a página visitada, como /despertar-6-30/, sem os alarmes que você criou.

O alarme toca se o computador estiver desligado?

Não. Desligado, o computador não executa nada. Em suspensão ou hibernação, a página fica parada e o alarme toca assim que o computador voltar, com o aviso de quanto tempo atrasou.

Fontes

  1. Notification Triggers API: desenvolvimento encerrado (Chrome for Developers) developer.chrome.com
  2. Heavy throttling of chained JS timers beginning in Chrome 88 (Chrome for Developers) developer.chrome.com
  3. Window: setTimeout(), seção sobre abas inativas (MDN Web Docs) developer.mozilla.org
  4. Page Lifecycle API (Chrome for Developers) developer.chrome.com
  5. Optimize for Doze and App Standby (Android Developers) developer.android.com
  6. Screen Wake Lock API (MDN Web Docs) developer.mozilla.org
  7. Web Push for Web Apps on iOS and iPadOS (WebKit) webkit.org
  8. Ajustar o desempenho do Chrome: Economia de memória (Ajuda do Google Chrome) support.google.com

Atalhos de teclado

Desligados, Espaço, Enter e Esc continuam valendo.

Cronômetro e timer

Espaço
Iniciar ou pausar
L
Marcar uma volta (cronômetro)
R
Zerar
Ctrl+Z
Desfazer o Zerar do cronômetro (por 6 s)

Despertador

Enter
Ativar o alarme
Espaço
Parar o alarme que está tocando
S
Soneca

Em qualquer página

F
Tela cheia
T
Trocar o tema: claro, escuro ou OLED
?
Mostrar estes atalhos
Esc
Fechar janela ou sair da tela cheia