Chrome 選擇性執行後台 JavaScript 任務
Chrome 中 setTimeout 的準確性引發了有關其在後台選項卡中行為的問題。觀察顯示,當測試標籤未處於焦點時,setTimeout 執行會顯著延遲,這種現像在 Firefox 或 IE 中未觀察到。
此行為源自於 Chrome 故意暫停或限制後台選項卡中 JavaScript 的執行。這種設計選擇可以防止後台選項卡消耗過多資源並影響活動選項卡的效能。
雖然這種最佳化旨在增強使用者體驗,但它給運行後台任務帶來了挑戰,例如使用 XHR 定期進行伺服器檢查呼叫和 setInterval。
後台執行的解決方法
要避免此暫停,使用者可以利用以下解決方法:
錯誤還是設計選擇?
此行為不被視為錯誤,而是故意的設計選擇旨在最佳化瀏覽器效能。雖然它可能會限制某些後台任務,但它確保了 Chrome 的回應能力和效率。使用者應了解此限制,並在必要時採用適當的解決方法。
以上是為什麼我的 setTimeout 呼叫在 Chrome 的後台選項卡中出現延遲?的詳細內容。更多資訊請關注PHP中文網其他相關文章!