Maison >interface Web >js tutoriel >Pourquoi les délais d'expiration et les intervalles des onglets d'arrière-plan de Chrome sont-ils plus lents ?
Délai d'expiration et intervalles des onglets d'arrière-plan dans Chrome
Lors du test de la précision de setTimeout dans Chrome, une différence a été observée lors de l'exécution du test dans un onglet d'arrière-plan. Il a été remarqué que les délais d'attente et les intervalles s'exécutaient beaucoup plus lentement que lorsque l'onglet avait le focus. Ce comportement n'a pas été observé dans Firefox ou Internet Explorer.
Cette observation suggère que Chrome suspend ou ralentit l'exécution de JavaScript dans les onglets qui manquent de focus. Par conséquent, les tâches en arrière-plan telles que les vérifications périodiques du serveur à l'aide des appels XHR et setInterval peuvent ne pas fonctionner comme prévu.
Le changement de code sous-jacent responsable de ce comportement a été identifié. Lorsqu'un onglet est inactif, la fonction JavaScript est invoquée au maximum une fois par seconde, garantissant ainsi l'optimisation des ressources.
Bien que ce délai d'attente et cette suspension d'intervalle puissent être considérés comme une amélioration des performances, ils limitent également la fonctionnalité des tâches en arrière-plan. . Une solution de contournement consiste à utiliser des Web Workers, qui fournissent un thread séparé pour une exécution continue, même dans les onglets d'arrière-plan.
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!