1
resposta

Contagem para em segundo plano

Olá,

Percebi que o contador para enquanto estou fazendo outra atividade. Fiz um teste: Às 11h iniciei o 'descanso curto' que é de 5 minutos e abri uma aba para jogar paciência durante esse tempo. Depois de vária partidas eu percebi que estava demorando para soar o alarme de tempo esgotado e já eram 11:30. Voltei na aba do projeto e o contador ainda estava em cerca de 3 minutos e meio.

Como posso fazer funcionar sem parar quando não estou com a aba ativa?

Espero ter sido claro :)

PS.: Fiz o deploy no Vercel

1 resposta

Olá Iann, tudo bem?

Isso depende muito dos sistemas de otimização de abas do navegador. Por exemplo, ao utilizar o Edge, o script era iniciado e logo em seguida eu trocava de aba, mas em 10 segundos o script travava, e mesmo que eu ficasse muito tempo fora o contador ainda estava com o tempo parado. No entanto, ao utilizar o Firefox, o mesmo funcionou tranquilamente. Portanto, o funcionamento pode variar conforme o navegador. O próprio tem configuração para esses casos e você pode seguir os seguintes passos em caso de travamento:

  1. Abra o Microsoft Edge e vá para a página do seu projeto.
  2. Clique nos três pontos no canto superior direito da janela do navegador e selecione “Configurações”.
  3. Depois vá para sistema e desempenho.
  4. Depois procure por "nunca colocar estes sites em suspensão".
  5. Adicione a URL do seu site do Fokus.

Fiz esses passos e funcionou para mim, em casos de outro navegadores provalmente há configurações semelhantes.

Caso queira avançar mais eu lhe convido a ler mais a respeito é sobre o Web Workers. Os Web Workers são uma forma de executar scripts em segundo plano, sem interromper a execução do código principal. Com eles, você pode executar o contador em segundo plano, mesmo quando a aba não está ativa.

Caso queira saber mais recomendo a seguinte documentação:

Usando Web Workers| MDN

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!