Aller au contenu

Balise HTML <script>

La balise HTML <script> déclare un script côté client (JavaScript) dans un document HTML. Lors de la définition d'un script côté client, la balise <script> est utilisée pour la manipulation d'images, la validation de formulaires et les modifications dynamiques de contenu. La balise peut inclure soit le script lui-même, soit un lien vers un fichier externe contenant des scripts. Le chemin vers le fichier externe est spécifié à l'aide de l'attribut src.

DANGER

Si vous connectez un fichier externe contenant des scripts, n'incorporez pas de script dans la même balise <script>.

La balise HTML <script> peut être placée dans l'élément <head>, ainsi que dans l'élément <body>. Les scripts qui doivent s'exécuter en premier sont souvent placés dans l'élément <head> avec defer, ou à la fin de l'élément <body>. La balise <script> peut être utilisée plusieurs fois dans un document HTML.

script tag example

Syntaxe

La balise <script> s'utilise par paires. Le contenu est écrit entre les balises d'ouverture (<script>) et de fermeture (</script>).

Notes importantes

Il existe plusieurs façons d'exécuter un script externe :

  • Par défaut (sans async ou defer), le script bloque l'analyse HTML et s'exécute immédiatement lors de sa rencontre.
  • L'attribut defer="defer" indique que le script est exécuté après que le document HTML a été entièrement analysé.
  • L'attribut async="async" indique que le script est exécuté de manière asynchrone, dès qu'il est téléchargé, sans bloquer l'analyse.

Pour sélectionner un élément HTML, JavaScript utilise la méthode document.getElementById().

Exemple de balise HTML <script> :

Balise de script HTML

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p id="example"></p>
    <script>
      document.getElementById("example").innerHTML = "My first JavaScript code";
    </script>
  </body>
</html>

Différences entre HTML 4.01 et HTML5

HTML 4 nécessite l'attribut type, tandis qu'il est optionnel dans HTML5. Dans HTML5, l'attribut async est nouveau. HTML5 ne prend pas en charge l'attribut xml:space de HTML 4.01.

Différences entre HTML et XHTML

Dans XHTML, le contenu à l'intérieur des scripts est déclaré comme du #PCDATA (au lieu de CDATA). Dans de tels cas, les entités seront analysées.

En XHTML, tous les caractères spéciaux doivent être encodés, ou tout le contenu doit être enveloppé dans une section CDATA.

Exemple de balise de script HTML

html
<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
  // some code
}
//]]>
</script>

Attributs

| Attribut | Valeur | Description | |---|---|- --| | async | async | Indique que le script est exécuté de manière asynchrone. | | charset | charset | Définit l'encodage des caractères, utilisé dans un fichier externe avec le code JavaScript. Déprécié en HTML5. | | defer | defer | Indique que le script doit être exécuté après le chargement de la page. | | src | URL | Définit l'URL d'un fichier externe contenant le code JavaScript. (Peut être défini de manière relative ou absolue). | | type | media_type | Définit le type MIME du script. |

La balise <script> prend en charge les Attributs globaux et les Attributs d'événement.

Pratique

Que fait la balise HTML <script> ?

Trouvez-vous cela utile?

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