<SCRIPT> | NN 2 IE 3 HTML 4
<SCRIPT>...</SCRIPT> | Balise de fin HTML : obligatoire
L'élément script est un conteneur pour les lignes de code de script utilisant l'un des langages de script que le navigateur est capable d'interpréter. Les instructions comprises à l'intérieur des balises Script mais ne figurant pas dans la définition d'une fonction sont directement exécutées lors du chargement de la page; les définitions de fonctions sont chargées, mais leur exécution est différée tant qu'elles ne sont pas explicitement appelées par l'utilisateur ou par un événement système. Il est possible d'insérer plusieurs éléments script dans un document, et un même document peut comporter des éléments script écrits dans différents langages de script. Avec HTML 4.0, un important changement a été apporté à la syntaxe d'un attribut. Depuis que les navigateurs prennent les scripts en charge, l'attribut language était utilisé pour indiquer le langage de script des instructions figurant dans l'élément script . HTML 4 délaisse cet attribut au profit de l'attribut type, dont la valeur est un type MIME. Tant que vous ne savez pas avec certitude que les visiteurs de votre page utilisent uniquement les dernières versions des navigateurs qui prennent en charge l'attribut type, vous devriez inclure les deux attributs dans vos documents pour assurer une compatibilité ascendante à long terme avec les navigateurs anciens. L'attribut language est validé sur la base des DTD de transition. Dans leur grande majorité (à l'exception des premières versions), les navigateurs qui prennent les scripts en charge permettent aussi d'importer dans le document des instructions de scripts provenant d'un autre document dont l'adresse URL est indiquée par l'attribut src. Les très anciens navigateurs qui ne prennent pas les scripts en charge ne reconnaissent pas l'élément script et tentent d'afficher les instructions du script comme du contenu HTML normal. C'est pourquoi les instructions des scripts doivent être insérées entre des marqueurs de commentaires HTML. Le marqueur de fin de commentaire (-->) doit être précédé d'un marqueur de commentaire JavaScript (//) pour empêcher JavaScript de générer un message d'erreur. En raison des conflits de caractères entre JavaScript et XHTML et du manque de prise en charge des navigateurs pour la délimitation des scripts <![CDATA[...]]> (le type optimal pour XHTML), vous devez utiliser les bibliothèques de script importées pour les pages qui exigent une validation sous XHTML. Ainsi, les analyseurs XML ne sont pas sujets aux erreurs lorsqu'ils assimilent des symboles, par exemple Ğ inférieur à ğ (<) comme symboles de marquage XML.
Exemple
    <SCRIPT type="text/javascript" language="JavaScript">
    <!--
    FUNCTION howdy( ) {
        alert("Hello, HTML world!");
    }
    //-->
    </SCRIPT>

    <SCRIPT type="text/javascript" scr="scripts/myscript.js"></SCRIPT>
Attributs spécifiques à l'élément
charset | defer | événement | for | langage
src | type | version | xml:space |
Attributs du gestionnaire d'événements spécifiques à l'élément
Aucune.

charset | NN 6 IE s.o. HTML 4
charset="characterSet" | Facultatif
Le code de caractères du contenu du fichier auquel réfère l'attribut src.
Exemple
    <SCRIPT charset="csISO5427Cyrillic" src="moscow.js"> . . . </SCRIPT>
Valeur
Alias insensible à la casse pris dans le registre du jeu de caractères (ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets).
Par défaut
Déterminée par le navigateur.

defer | NN 6 IE 3 HTML 4
defer | Facultatif
La présence de l'attribut defer indique au navigateur qu'il doit afficher le contenu HTML normal de la page pendant le chargement de celle-ci, sans attendre que le script génère un éventuel contenu. Cet attribut est purement informatif. Le navigateur n'a pas besoin de retarder l'affichage du contenu HTML qui suit le script tant qu'il n'a pas fini d'analyser l'élément script pour voir s'il contient des instructions document.write( ). À compter de la version 7, Netscape autorise l'attribut defer, mais ne lui répond pas.
Exemple
    <SCRIPT type="text/javascript" language="JavaScript" defer>...</SCRIPT>
Valeur
La présence de cet attribut définit sa valeur comme true (vrai).
Par défaut
false
Rfurence de modle d'objet
    [window.]document.getElementById(elementID).defer

event | NN n/a IE 4 HTML |4|
event="eventName" | Facultatif
Le modple d'événement de Microsoft Internet Explorer permet de lier des événements objets aux éléments script à l'aide des attributs event et for. Pendant le chargement de la page, le navigateur enregistre chaque élément script avec sa liaison événements / objets, si bien que lorsque l'objet génère l'événement, les instructions qui figurent dans l'élément script s'exécutent, sans qu'il soit nécessaire d'écrire des gestionnaires d'événements pour les divers objets, ni d'insérer les instructions du script dans des définitions de fonctions. Les valeurs d'événements sont transmises soit sous forme du nom de l'événement sans guillemets, soit sous forme du nom de l'événement entre guillemets et formaté comme une fonction (avec parenthèses et noms de paramètres facultatifs). Ce type de liaison entre un script et un événement ne peut être utilisé qu'avec Internet Explorer. Navigator tente toujours d'exécuter les instructions du script durant le chargement de la page. La DTD HTML 4 de transition réserve cet attribut pour une utilisation potentielle future, mais la réservation ne s'applique pas à XHTML 1.0.
Exemple
    <SCRIPT for="window" event="onresize( )">...</SCRIPT>
Valeur
Nom d'événement sensible à la casse ou nom d'événement passé comme une fonction entre guillemets. L'objet décrit dans l'attribut for doit prendre en charge l'événement dont le nom apparaît dans l'attribut event.
Par défaut
Aucune.
Rf rence de modle d'objet
    [window.]document.getElementById(elementID).event

for | NN n/a IE 4 HTML |4|
for="elementID" | Facultatif
Le modple d'événement de Microsoft Internet Explorer permet de lier des événements objet aux éléments script à l'aide des attributs event et for. Pendant le chargement de la page, le navigateur enregistre chaque élément script avec sa liaison événements / objets, si bien que lorsque l'objet génère l'événement, les instructions qui figurent dans l'élément script s'exécutent, sans qu'il soit nécessaire d'écrire des gestionnaires d'événements pour les divers objets, ni d'insérer les instructions du script dans des définitions de fonctions. Utilisez l'attribut id (dont la valeur doit être unique) de l'élément dont vous désirez gérer l'événement. Ce type de liaison entre un script et un événement ne peut être utilisé qu'avec Internet Explorer. Navigator tente toujours d'exécuter les instructions du script durant le chargement de la page. Le DTD HTML 4 de transition réserve cet attribut pour une utilisation potentiel future, mais la réservation ne s'applique pas à XHTML 1.0.
Exemple
    <SCRIPT for="firstNameEntry" event="onchange( )">...</SCRIPT>
Valeur
Valeur d'ID sensible à la casse de l'élément qui génère l'événement. L'objet décrit dans l'attribut for doit prendre en charge l'événement dont le nom apparaît dans l'attribut event.
Par défaut
Aucune.
Rfnrence de modle d'objet
    [window.]document.getElementById(elementID).htmlFor

language | NN 2 IE 3 HTML 4
language="scriptingLanguage" | Facultatif
D>finit le langage de script des instructions contenues dans l'élément. Cet attribut est délaissé dans HTML 4 (au profit de l'attribut type), mais il est si largement répandu depuis l'apparition des navigateurs prenant les scripts en charge qu'il continuera à être utilisé et pris en charge pendant longtemps encore. De plus, il constitue jusqu'à présent la seule méthode reconnue pour indiquer la version JavaScript d'un bloc de script (par exemple, reportez-vous à l'objet Array du chapitre 12).
Exemple
    <SCRIPT language="JavaScript">...</SCRIPT>
Valeur
Internet Explorer reconnaît quatre noms de langage, insensibles à la casse: JavaScript | JScript | vbs | vbscript. Navigator reconnaît uniquement JavaScript. Les diverses versions de JavaScript sont également prises en charge dans les navigateurs appropriés. Pour que les valeurs de l'attribut restent des identifiants sur un seul mot, les numéros de version sont ajoutés à la fin du nom de langage "JavaScript". Le mot "JavaScript" sans indication de version est reconnu par tous les navigateurs; "JavaScript1.1" n'est reconnu que par Navigator 3; "JavaScript1.2" est reconnu par Navigator 4.0-4.05 et Internet Explorer 4; "JavaScript1.3" s'applique à Navigator 4.06-4.7x et IE 5-6; "JavaScript1.5" s'applique à Netscape 6-7. Lorsque ces valeurs de versions récentes sont précisées pour l'élément script, les anciens navigateurs qui ne prennent pas ces versions en charge ignorent les éléments script.
Par défaut
JavaScript (NN); JScript (IE).
Rfcrence de modle d'objet
    [window.]document.getElementById(elementID).language

src | NN 6 IE 3 HTML 4
src="URL" | Facultatif
Importe un fichier externe contenant des instructions de script. Lorsque les instructions externes sont chargses, le navigateur les traite comme si elles étaient incorporées dans le document HTML principal. Cet attribut est relativement pris en charge dans Internet Explorer 3, mais il dépend d'une version spécifique de JScript.dll, ce qui rend son utilisation avec IE 3 peu fiable. En théorie, il est possible d'ajouter des instructions de script dans un élément script chargeant un fichier de script externe. En pratique, il est plus fiable d'utiliser un élément script séparé pour chaque fichier de script externe et pour les scripts internes au document. Les implémentations actuelles limitent les possibilités de l'attribut src à des noms de fichiers JavaScript externes. Ces fichiers doivent avoir l'extension .js, et il est nécessaire que l'extension et le type MIME application/x-javascript soient pris en charge par le serveur. Lorsque vous affectez l'attribut src dans un document XHTML, il se peut que les navigateurs n'apprécient pas la forme courte des balises de fin. Vous ne devez pas assimiler la balise à un élément vide, mais plutôt à un élément dont le contenu provient d'une source externe. Utilisez une balise de fin </SCRIPT> explicite.
Exemple
    <SCRIPT language="JavaScript" type="text/javascript" src="stringParseLib.js">
    </SCRIPT>
Valeur
Une adresse URL valide. Avec les navigateurs actuels, le nom du fichier à charger doit posséder l'extension .js. Une adresse URL complète peut aider à résoudre des difficultés avec les premières versions des navigateurs dans lesquelles cet attribut a été implémenté.
Par défaut
Aucune.
Rfnrence de modle d'objet
    [window.]document.getElementById(elementID).src

type | NN 6 IE 3 HTML 4
type="MIMEType" | obligatoire
Indication sur le type de contenu des instructions du script. Le type de contenu doit indiquer au navigateur le moteur de script . utiliser pour interpréter les instructions du script. Il n'est pas impossible que l'attribut type finisse par remplacer à terme l'attribut language comme attribut définissant le langage de script utilisé pour les instructions contenues par l'élément. Pour préserver la compatibilité avec les navigateurs futurs et anciens, vous pouvez inclure à la fois les attributs language et type dans un élément script.
Exemple
    <SCRIPT type="text/javascript" language="JavaScript">...</SCRIPT>
Valeur
Type de MIME insensible à la casse. Les valeurs sont limitées à celles qu'un navigateur donné est capable de prendre en charge. IE 4 et versions ultérieures et Netscape 6 acceptent text/javascript et application/x-javascript pour les scripts qui utilisent un langage compatible ECMAScript. IE accepte également les types suivants: text/ecmascript, text/jscript, text/vbs (IE/Windows), text/vbscript (IE/Windows) et text/xml (IE 5 et versions ultérieures).
Par défaut
Aucune.
Rfvrence de modle d'objet
    [window.]document.getElementById(elementID).type

version | NN s.o. IE s.o. HTML s.o.
version="x.y" | Facultatif
Cet attribut est rtype) sont en place dans le moteur de navigation Netscape 6 (Mozilla), mais ils ne sont pas encore reliés à partir de Netscape 7.
Exemple
    <SCRIPT type="text/javascript" version="1.5">...</SCRIPT>
Valeur
Version de langage exprimée sous la forme de numéros de version (nombres entiers) principaux et secondaires, séparés par un point.

xml:space | NN s.o. IE s.o. HTML X1.0
xml:space="preserve" | Facultatif
Un analyseur XHTML est censé éliminer tous les espaces blancs du code source à mesure qu'il traite le document. Cette suppression peut affecter le bon fonctionnement des scripts. En incluant l'attribut space de l'espace de nom XML, vous indiquez à l'analyseur de conserver en l'état les espaces blancs du code source du contenu de l'élément de script.
Exemple
    <SCRIPT type="text/javascript" xml:space="preserve">...</SCRIPT>
Valeur
Constante: preserve.
Par défaut
Aucune.