Maison >interface Web >js tutoriel >Les onglets d'arrière-plan de Chrome mettent-ils en pause « setTimeout » et « setInterval » ?
Onglets d'arrière-plan Chrome : délais d'attente et intervalles en pause ?
En testant la précision de setTimeout, il a été observé que les délais d'attente s'exécutent considérablement plus lentement dans Onglets d'arrière-plan Chrome par rapport aux onglets actifs. Ce comportement n'a pas été remarqué dans Firefox ou Internet Explorer.
Suspension de l'exécution de JavaScript
Il semble que Chrome suspende ou ralentisse l'exécution de JavaScript dans les onglets non ciblés. Cela implique que les tâches en arrière-plan, telles que les vérifications périodiques du serveur à l'aide de XHR et setInterval, peuvent être interrompues. On soupçonne que setInterval présente un comportement similaire.
Solution de contournement possible
En tant que solution de contournement potentielle, les Web Workers peuvent être utilisés pour poursuivre les tâches en arrière-plan même lorsqu'un onglet est inactif. Les Web Workers sont des scripts indépendants qui s'exécutent en arrière-plan, permettant l'exécution de tâches asynchrones.
Rapport de bogues
Bien que le comportement de suspension de l'exécution de JavaScript dans les onglets en arrière-plan soit considéré comme être délibéré, cela pourrait justifier le dépôt d'un rapport de bogue s'il cause des problèmes importants. Le changement de code proposé pourrait éclairer davantage la situation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!