Inclusion de code JavaScript dans des documents HTML
-
Pour des raison de modularité, il est préférable de
mettre le code JS dans un fichier séparé du code HTML et d'y
faire référence dans la section head du code HTML
de la façon suivante:
<script type="text/JavaScript" src="UnFichier.js">
... // code exécuté uniquement si "UnFichier.js" n'a pas été trouvé, p.ex.:
document.write("Fichier JavaScript pas trouvé");
</script>Note: vous verrez parfois, dans certains documents, <script language="javascript" src="...">. Cela correspond à la syntaxe initialement conçue par Netscape. Mais la spécification HTML 4.0 stipule explicitement que c'est l'attribut type et non pas language qui doit être utiisé.
-
Le serveur doit être configuré pour indiquer le type MIME
application/x-javascript pour tout fichier ayant l'extension
.js.
-
Pour utiliser JS pour gérer des événements, définir
des valeurs d'attributs ou pour ajouter/modifier le contenu d'un document
HTML, il a fallu étendre la syntaxe du langage HTML:
-
expressions JS pour définir la valeur d'un attribut dans une balise
HTML
<balise NomAttribut="&{ExpressionJS}" ...>
-
gestionnaires d'événements comme attributs d'une balise HTML
<balise NomGestionnaireEvénement="CodeJS"
-
balise <script> n'importe où dans le code HTML (en prenant la
précaution d'englober le code JS dans un commentaire pour cacher ce
code aux butineurs qui ne reconnaissent pas JS
<script type="text/javascript">
<!--
... // instructions JS
// -->
</script> -
URLs de type javascript:
<a href="javascript:'UneFunction(Args)'" ...>
Il est fortement recommandé de limiter l'usage d'URLs de ce type à un appel de fonction, mais il peut en fait y avoir n'importe quelle suite d'instructions JS.
Note: un tel lien ne fonctionnera bien entendu pas si JS est désactivé. Il faudra donc offrir des alternatives de navigation pour les utilisateurs n'ayant pas JS.
-
expressions JS pour définir la valeur d'un attribut dans une balise
HTML
- Pour que vos documents soient aussi utilisable si JS est désactivé ou si le butineur ne reconnait pas JS, il est fortement recommandé d'utiliser les balises <noscript>...</noscript> dans le corps du document. Ces balises permettent à l'auteur du document de stipuler du code HTML qui ne sera affiché que par les butineurs qui ne supportent pas JS.
- Liste des Event handlers du chapître 2 (Handling events) du Javascript Guide (copie locale)
- Chapitre 9 (Events and Event Handlers) du manuel Javascript Reference (copie locale)