다른 탭·화면 꺼짐에서 타이머가 늦거나 안 울리는 이유
브라우저는 숨은 탭에서 되풀이되는 작업을 늦추고(크롬은 조건에 따라 1분에 한 번만 확인), 휴대폰 화면이 꺼지면 페이지를 아예 멈추기도 해요. 그래서 1초마다 숫자를 하나씩 빼는 웹 타이머는 늦게 울리거나 멈춰요. 끝나는 시각을 기준으로 계산하고 끝나는 순간에 한 번만 알람을 걸면 숨은 탭에서도 제때 울려요. 다만 창을 닫거나 기기가 잠들면 어떤 웹 타이머도 울리지 않아요.
숨은 탭에서 타이머가 늦어지는 규칙(크롬)
크롬 개발 문서에 따르면 탭이 숨어 있을 때 페이지의 타이머(setTimeout·setInterval)는 단계별로 늦춰져요(2026-10-14 확인).
- 페이지가 보이거나, 최근 30초 안에 소리를 냈으면: 거의 늦추지 않아요. 소리 없는 오디오는 치지 않아요.
- 그렇지 않으면: 타이머를 1초에 한 번 몰아서 확인해요.
- 숨은 지 5분이 넘고, 타이머를 이어서 다섯 번 이상 걸었고, 30초 넘게 조용하면: 1분에 한 번만 확인해요(크롬 88부터).
1초마다 다음 1초를 예약하는 방식(남은 시간에서 1씩 빼기)의 타이머는 이 세 번째 경우에 걸리기 쉬워요. 다른 탭에 5분 넘게 있으면 숫자가 1분씩 건너뛰고, 끝나는 소리도 1분 가까이 늦을 수 있어요. 사파리·파이어폭스의 숫자는 이 문서에 없어서 여기 적지 않았어요.
휴대폰 화면이 꺼지면 아예 멈출 수 있어요
크롬 문서는 브라우저가 CPU·배터리를 아끼려고 페이지를 멈춘 상태로 둔다고 설명해요(문서의 말로는 '얼림, frozen'). 멈춰 있는 동안에는 페이지의 타이머가 돌지 않아요. 휴대폰에서 다른 앱으로 가거나 화면이 꺼지면 이런 일이 생길 수 있고, 몇 초 뒤에 멈추는지는 브라우저마다 달라서 여기 적지 않았어요.