Aller au contenu

L'attribut defer HTML

L'attribut defer HTML spécifie qu'un script est exécuté lorsque la page a terminé son analyse. C'est un attribut booléen. Cet attribut fonctionne pour les scripts externes et doit être utilisé uniquement lorsque l'attribut src est présent.

En HTML 4.01, le comportement de l'attribut defer dépendait de l'implémentation, tandis qu'HTML5 l'a standardisé. Dans XHTML, l'attribut defer doit être spécifié sous la forme <script defer="defer"> car la minimisation des attributs est interdite.

Vous pouvez utiliser cet attribut sur l'élément <script>.

Un script externe peut être exécuté de la manière suivante :

  • Lorsque async est présent, le script sera exécuté de manière asynchrone pendant que la page poursuit son analyse.
  • Lorsque async n'est pas présent mais que defer l'est, le script sera exécuté lorsque la page aura terminé son analyse, dans l'ordre où ils apparaissent dans le document.
  • Lorsque ni async ni defer ne sont présents, le script sera exécuté immédiatement avant que le navigateur ne poursuive son analyse.

Syntaxe

Syntaxe de l'attribut defer HTML

html
<script src="example.js" defer></script>

Exemple de l'attribut defer HTML :

Exemple de l'attribut defer HTML

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <script src="example.js" defer></script>
    <noscript>Sorry, your browser doesn't support JavaScript!</noscript>
  </head>
  <body>
    <h1>Example</h1>
    <p>The "defer" attribute specifies that a script is executed when a page has finished the parsing. It is a boolean attribute.</p>
  </body>
</html>

Pratique

Quelle est la bonne utilisation de l'attribut 'defer' en HTML ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.