Ich testete die Genauigkeit der setTimeout
mit diesem Test . Jetzt habe ich festgestellt, dass (wie erwartet) setTimeout
nicht sehr genau ist, aber für die meisten Geräte nicht dramatisch ungenau. Wenn ich den Test jetzt in Chrome ausführe und ihn in einer Hintergrundregisterkarte laufen lasse (also zu einer anderen Registerkarte wechseln und dort navigieren), zum Test zurückkehre und die Ergebnisse überprüfe (wenn der Test beendet ist), werden sie dramatisch geändert. Es sieht so aus, als ob die Zeitüberschreitungen viel langsamer verlaufen sind. In FF4 oder IE9 getestet, ist dies nicht aufgetreten.
Es sieht also so aus, als würde Chrome die Ausführung von Javascript in einem Tab ohne Fokus anhalten oder zumindest verlangsamen. Konnte nicht viel im Netz zu diesem Thema finden. Dies würde bedeuten, dass wir keine Hintergrundaufgaben ausführen können, wie zum Beispiel regelmäßige Überprüfungen auf einem Server mithilfe von XHR-Aufrufen und setInterval
(ich vermute, dass das gleiche Verhalten für angezeigt setInterval
wird, einen Test schreiben, wenn die Zeit für mich gekommen ist).
Hat jemand dies angetroffen? Gibt es eine Problemumgehung für diese Unterbrechung / Verlangsamung? Würden Sie es einen Fehler nennen und sollte ich es als solchen einreichen?
transition
, so dass nicht alle Divs gleichzeitig übergehen, sondern tatsächlich 15 ms nacheinander, wodurch ein rollender Effekt entsteht. Wenn ich zu einem anderen Tab gehe und nach einer Weile zurückkomme, wechseln alle Divs gleichzeitig und das setTimeOut
wird vollständig ignoriert. Es ist kein großes Problem für mein Projekt, aber es ist eine seltsame und unerwünschte Ergänzung.