Middle
Quelle est la différence entre les balises <script>, <script async> et <script defer>?
sobes.tech IA
Réponse de l'IA
Script normal : le navigateur arrête l’analyse du HTML, charge et exécute le script, puis reprend l’analyse. Bloque l’affichage.
<script async> : le script est chargé de manière asynchrone, l’analyse du HTML continue. Le script s’exécute immédiatement après le chargement, pouvant interrompre l’analyse du HTML. L’ordre d’exécution des scripts n’est pas garanti.
<script defer> : le script est chargé de manière asynchrone, l’analyse du HTML continue. L’exécution du script est différée jusqu’à la fin de l’analyse du HTML et la construction de l’arbre DOM. Les scripts s’exécutent dans l’ordre de leur apparition dans le HTML.
| Attribut | Analyse du HTML | Chargement du script | Exécution du script | Dépendance de l’ordre |
|---|---|---|---|---|
| Absence | S’arrête | Bloquante | Bloquante | Garantie |
async |
Continue | Non bloquante | Peut interrompre l’analyse | Non garanti |
defer |
Continue | Non bloquante | Après l’analyse du HTML | Garantie |