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>
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 |