setTimeout を使用して、AJAX を使用して外部データを取得し、1000 ミリ秒 (1 秒) ごとにページのコンテンツを更新する JavaScript プログラムを実行しています。
私の Web ページが表示されているタブが最前面にある場合、これは完全に正常に機能します。ただし、ページが複数のタブを持つブラウザー ウィンドウで実行されていて、ユーザーが現在そのタブを使用していない場合、setTimeout は遅延し始めます (1 分間で、60 回更新するのではなく、約 30 回しか更新しません)。
ただし、Web ページがバックグラウンドにあるブラウザ ウィンドウの最前面にある場合、setTimeout は引き続き適切な速度で実行されます。
誰かがなぜこれが起こっているのか、これを解決する方法を説明できますか?