我使用setTimeout來運行一個JavaScript程序,它將使用AJAX獲取外部數據並每1000毫秒或更新一次頁面的內容。爲什麼JavaScript setTimeout在另一個選項卡中滯後?
當我的網頁所在的選項卡位於最前方時,此功能完全正常。但是,如果頁面在帶有多個選項卡的瀏覽器窗口中運行,並且用戶當前不在該選項卡中,則setTimeout將開始滯後(在一分鐘內,而不是更新60次,它只會更新大約30次)。
但是,如果網頁位於後臺瀏覽器窗口的最前端,那麼setTimeout將繼續以正確的速度運行。
有人可以解釋爲什麼會發生這種情況,以及解決這個問題的方法嗎?
這可能會爲您提供答案:https://developer.mozilla.org/en/docs/Web/API/window.setTimeout#Minimum.2F_maximum_delay_and_timeout_nesting – jeff