Je testais l'exactitude de l' setTimeout
utilisation de ce test . Maintenant, j'ai remarqué que (comme prévu) ce setTimeout
n'est pas très précis, mais pour la plupart des appareils pas très inexact. Maintenant, si j'exécute le test dans Chrome et que je le laisse s'exécuter dans un onglet d'arrière-plan (donc, passer à un autre onglet et y naviguer), revenir au test et inspecter les résultats (si le test est terminé), ils sont considérablement modifiés. Il semble que les délais d'attente aient été beaucoup plus lents. Testé dans FF4 ou IE9, cela ne s'est pas produit.
Il semble donc que Chrome suspende ou au moins ralentisse l'exécution de JavaScript dans un onglet sans focus. Impossible de trouver grand-chose sur le net sur le sujet. Cela signifierait que nous ne pouvons pas exécuter de tâches en arrière-plan, comme par exemple la vérification périodique sur un serveur utilisant des appels XHR et setInterval
(je soupçonne de voir le même comportement pour setInterval
, écrira un test si le temps est avec moi).
Quelqu'un at-il rencontré cela? Y aurait-il une solution de contournement pour cette suspension / ralentissement? Appelleriez-vous cela un bogue et devrais-je le déclarer comme tel?
transition
, donc pas toutes les divs transitions en même temps, mais en fait 15ms après l'autre, créant un effet de roulement. Lorsque je vais dans un autre onglet et que je reviens après un certain temps, toutes les divs font la transition en même temps et le setTimeOut
est complètement ignoré. Ce n'est pas un gros problème pour mon projet, mais c'est un ajout étrange et indésirable.