Async vs. Defer : optimisation du chargement des scripts en HTML5
Comprendre Async et Defer
Les attributs async et defer fournissent mécanismes pour contrôler l'ordre de chargement et d'exécution des scripts externes en HTML5 navigateurs.
Attribut async
- Les scripts avec async s'exécutent immédiatement lorsqu'ils sont chargés.
- L'ordre d'exécution n'est pas garanti. Par exemple, un script ajouté plus tard peut s'exécuter avant un autre ajouté plus tôt.
- Utile pour les scripts non bloquants qui ne dépendent pas d'autres exécutions de script.
Différer l'attribut
- Différer l'attribut
-
- Les scripts avec defer se chargent également de manière asynchrone mais ne s'exécutent qu'après l'analyse HTML initiale. complet.
Garantit que l'ordre d'exécution correspond à l'ordre d'apparition dans la page.
Convient aux scripts qui ne sont pas critiques pour le rendu de la page.
Impact sur la vitesse de chargement du site
L'ajout d'éléments asynchrones aux scripts en bas de la page peut légèrement améliorer la vitesse de chargement en permettant aux scripts de se charger simultanément.
Déplacement des scripts avec async ou report au peut accélérer le rendu en libérant le fil principal pour d'autres tâches.
Cependant, les navigateurs HTML4 peuvent rencontrer des retards.
- différer par rapport au placement en bas de page
-
Utiliser le report à l'intérieur de peut obtenir des résultats similaires en plaçant des scripts avant .
différer garantit l'ordre d'exécution, contrairement aux scripts placés à la fin du document.
- Utiliser asynchrone avec plusieurs scripts
-
- Les scripts avec async peuvent être téléchargés simultanément.
Mais l'ordre d'exécution n'est pas garanti, ce qui entraîne des problèmes potentiels si les scripts dépendent les uns des autres.
Assurez-vous que les scripts n'ont pas de dépendances et ne gèrent pas de conditions de concurrence potentielles.
- Différer vs Async vs Status Quo
-
- Différer préserve l'exécution ordre, ce qui le rend adapté à la plupart des cas.
Async permet un chargement légèrement plus rapide, mais présente un risque d'exécution non ordonnée.En attendant que HTML5 soit largement adopté, envisagez de retarder la mise en œuvre pour éviter les problèmes de compatibilité dans Navigateurs HTML4.
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!