Attribut defer de <script> HTML

Définition et utilisation

defer est un attribut booléen.

Si defer est utilisé, l'attribut spécifie que le script est téléchargé en parallèle pendant l'analyse de la page et est exécuté une fois l'analyse terminée.

Attention :defer Cet attribut ne s'applique qu'aux scripts externes (uniquement si ne doit être utilisé qu'à une certaine période ().

Attention :Les scripts externes peuvent être exécutés de plusieurs manières :

  • Si async est utilisé : le script est téléchargé en parallèle pendant l'analyse de la page et est exécuté immédiatement lorsqu'il est disponible (avant la fin de l'analyse).
  • Si defer est utilisé (sans async) : le script est téléchargé en parallèle pendant l'analyse de la page et est exécuté une fois l'analyse terminée.
  • Si ni async ni defer n'est utilisé : le script est téléchargé et exécuté immédiatement, bloquant l'analyse de la page jusqu'à ce que le script soit exécuté.

Exemple

Le script sera téléchargé en parallèle avec l'analyse de la page et exécuté après que la page soit complètement analysée :

<script src="demo_defer.js" defer></script>

Essayez-le vous-même

Syntaxe

<script defer>

Retarder l'exécution des scripts

Vous pouvez contrôler la manière dont les scripts sont exécutés en utilisant les attributs async et defer. L'attribut defer indique au navigateur que le script ne doit être exécuté qu'après que la page ait été chargée et analysée.

Lorsque le navigateur rencontre un élément script avec l'attribut defer, il reporte le chargement et l'exécution du script à après que tous les éléments du document HTML aient été analysés.

Cela donne le même résultat que de déplacer le script à la fin de la page :

<body>
... ...
... ...
... ...
<script src="demo.js"></script>
</body>

Prise en charge du navigateur

Les numéros dans le tableau indiquent la version du navigateur qui prend en charge cette propriété pour la première fois.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
8.0 10.0 3.5 5.0 15.0