この記事は Cybozu Frontend Advent Calendar 2023 の 15 日目の記事です。 14 日目はこちら → 主要ブラウザでサポートされつつある WasmGC とは何なのか こんにちは。ryounasso です。 ある日、ちょっとした興味で、フロントエンドで処理を行うカウントダウンタイマーを実装しました。 実際に、動かして使おうとしました。 何秒か後に、経過した時間を確認してみると…… 動いていなかったのです…… 😭 なぜ動かなかったのか このタイマーの処理は、フロントエンド側で setInterval 関数を用いて実装しています。 setInerval 関数は、タブがバックグラウンドになると、ブラウザがリソースの節約のために、実行を遅らせたり、停止させたりするそうです。 そのため、別タブに移動した際に setInterval が停止して、タイマーが動いてなか