Chrome-Hintergrundregisterkarten: Zeitüberschreitungen und Intervalle angehalten?
Beim Testen der Genauigkeit von setTimeout wurde beobachtet, dass Zeitüberschreitungen wesentlich langsamer ablaufen Chrome-Hintergrund-Tabs im Vergleich zu aktiven Tabs. Dieses Verhalten wurde in Firefox oder Internet Explorer nicht bemerkt.
Unterbrechung der JavaScript-Ausführung
Es scheint, dass Chrome die JavaScript-Ausführung in nicht fokussierten Tabs anhält oder verlangsamt. Dies bedeutet, dass Hintergrundaufgaben, wie z. B. regelmäßige Serverüberprüfungen mit XHR und setInterval, möglicherweise unterbrochen werden. Es wird vermutet, dass setInterval ein ähnliches Verhalten zeigt.
Mögliche Problemumgehung
Als mögliche Problemumgehung können Web Worker verwendet werden, um Hintergrundaufgaben fortzusetzen, auch wenn eine Registerkarte inaktiv ist. Web Worker sind unabhängige Skripte, die im Hintergrund ausgeführt werden und die Fortsetzung asynchroner Aufgaben ermöglichen.
Bug Reporting
Während das Verhalten beim Anhalten der JavaScript-Ausführung in Hintergrundregisterkarten angenommen wird Seien Sie bewusst, es könnte die Einreichung eines Fehlerberichts rechtfertigen, wenn es erhebliche Probleme verursacht. Die bereitgestellte Codeänderung könnte die Situation weiter aufklären.
Das obige ist der detaillierte Inhalt vonUnterbrechen Chrome-Hintergrundregisterkarten „setTimeout' und „setInterval'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!