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:
- Abra o Microsoft Edge e vá para a página do seu projeto.
- Clique nos três pontos no canto superior direito da janela do navegador e selecione “Configurações”.
- Depois vá para sistema e desempenho.
- Depois procure por "nunca colocar estes sites em suspensão".
- 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!