Sobes.tech
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