Les JavaScripts ne sont pas une partie intégrante de HTML, mais un langage distinct de programmation. Ce langage a pourtant été créé spécialement pour mettre à la disposition des auteurs un outil grâce auquel les pages WWW se laissent optimiser.
Les programmes en JavaScript sont notés directement dans le fichier HTML ou dans des fichiers séparés. Ils ne sont pas compilés comme par exemple les programmes Java mais interprétés comme code source en temps réel un peu comme les fichiers *.bat ou comme les scripts shell. Pour cela les navigateurs WWW modernes comme Netscape ou l'Explorer Internet Microsoft sont équipés de logiciel d'interprétation correspondants.
Dans un langage de programmation comme JavaScript il y a beaucoup d'éléments prêtant à confusion pour les débutants; ce sont les caractères spéciaux, les variables, les commandes si-alors, les boucles les fonctions, les méthodes, les paramètres, les objets, les propriétés et plus encore. Pour pouvoir manier facilement ces éléments vous devez apprendre à vous représenter ce qui se passe dans l'ordinateur quand le code du programme est exécuté. C'est un apprentissage pénible que des débutants ne maîtriseront que par des exercices répétés. Pour cela, JavaScript est très bien approprié parce qu'il est un langage de programmation relativement simple, dans lequel manquent beaucoup de tâches d'un "grand" langage de programmation - comme par exemple la gestion de la mémoire ou le maniement de fichiers. En outre, JavaScript est employé dans un environnement déterminé, à savoir la page WWW affichée ou à afficher.
![]() ![]() |
Le JavaScript est un langage de script introduit par Netscape, qui en détient les droits. C'est pour cette raison que les nouvelles versions du navigateur Netscape ont, dans la maîtrise du JavaScript, toujours de l'avance sur la concurrence qui ne peut qu'attendre ce que Netscape y a ajouté comme nouveautés.
Netscape 2.0 interprète le standard de programmation 1.0
JavaScript introduit à cette époque. L'Explorer Internet MS
comprend ce langage amplement depuis la version 3.0.
Netscape interprète le standard de programmation 1.1 JavaScript
depuis sa version 3.0. L'Explorer Internet MS comprend ce langage
amplement depuis la version 4.0.
Netscape interprète le standard de programmation 1.2 JavaScript
depuis sa version 4.0. Certaines commandes de cette version sont également
interprétées par l'Explorer Internet MS 4.0.
Netscape et l'Explorer Internet MS se différencient de plus par
l'interprétation de caractéristiques d'objet distinctes. Ainsi, par exemple, les
cookies (caractéristique JavaScript connue) fonctionnent-ils aussi
localement avec Netscape - alors que l'Explorer Internet MS, tout au moins
dans sa version 3.0, exige une connexion HTTP pour reconnaître les cookies.
Même pour des processus internes comme des boucles se répétant souvent, il
peut y avoir des différences entre les navigateurs distincts et entre les
versions de navigateurs.
L'Explorer Internet MS 4.x interprète bien JavaScript, mais également en plus la variante de langage propre à Microsoft JScript, qui met à disposition des commandes spéciales pour les extensions de l'Explorer Internet MS au système d'exploitation.
Aussi bien Netscape que Microsoft insiste sur le fait qu'ils s'orientent avec leur interpréteurs de langage au standard des langages script pour Internet, à l'ECMA-262. Le comité ECMA, auquel appartiennent divers fabricants de logiciels, entre autres Microsoft et Netscape, s'efforce de définir même dans le domaine des langages script un standard commun universel comme c'est le cas pour HTML ou pour les feuille de style CSS.
Vous pouvez vous renseigner sur les langages scripts, les standards et les versions aux adresses suivantes sur le WWW:
Netscape Library Documentation.
Documentation sur le développement de Netscape. Pour JavaScript dans des jeux
de frames cliquez sur le lien "JavaScript" de la page.
Microsoft Scripting.
Page d'introduction à toutes les technologies du script que l'Explorer Internet MS
maîtrise.
ECMAScript-262
Spezification.
La spécification des composants d'un langage script standard pour les pages WWW
Pour reconnaître les versions du langage les symboles suivants seront utilisés dans la documentation qui suit:
![]() |
Standard de langage JavaScript 1.0. |
![]() |
Standard de langage JavaScript 1.1. |
![]() |
Standard de langage JavaScript 1.2. |
![]() |
Partie constituante du langage introduit par Microsoft. De
tels éléments ne sont interprétés en règle générale que par l'Explorer Internet MS
à partir de la version 4.x ; seuls quelques éléments importants ont été
repris dans la ![]() |
![]() ![]() |
Avant que vous ne commenciez à programmer de nouveaux codes JavaScripts
personnels il vous faut savoir quel problème vous voulez résoudre avec ce
programme. Pour cela il vous faut d'abord savoir tout ce qu'on peut faire avec
HTML et où les frontières de HTML se trouvent. Sur JavaScript, vous devez
ensuite en savoir assez pour pouvoir décider si le problème peut au moins être résolu par JavaScript.
Vous ne pouvez pas par exemple résoudre les tâches typiques des
scripts CGI !
De plus, vous devriez jeter un coup d'œil sur le WWW pour vérifier s'il n'y
a pas déjà d'exemples JavaScript disponibles gratuitement et qui résoudraient
exactement votre problème. Car il est toujours préférable de prendre du code
qui a fait ses preuves dans la pratique que d'établir du nouveau code dont les
"défauts cachés" ne sont connus de personne. Dans de nombreux cas il
suffit d'adapter des JavaScripts existants à ses propres besoins. Une bonne
adresse d'introduction pour la recherche de JavaScripts est l'offre WWW cacao
et biscuits de Johannes Gamperl. Pour ces JavaScripts disponibles sur le WWW,
vous devrez cependant comprendre ce langage suffisamment, afin de savoir exactement
quelles variables ou quelles constantes il vous faudra changer ou quelle fonction vous voudrez
compléter.
Si vous voulez utiliser JavaScript pour des pages WWW importantes testez les dans tous les cas sur plusieurs navigateurs différents. Car malheureusement les interpréteurs JavaScript des deux navigateurs WWW qui en sont pourvus, Netscape et Explorer Internet MS, ont des performances très différentes.
Ne mettez pas sur le WWW de pages Web contenant un code JavaScript non vérifié. Pour un utilisateur, il est très ennuyeux de recevoir à l'écran des messages d'erreur de l'interpréteur JavaScript et, dans des cas plus graves, d'être victime d'un "plantage" du programme de navigation WWW ou même d'un "plantage-système", ceci étant particulièrement désagréable lors d'un travail en connexion.
![]() ![]() |
Vous pouvez définir des passages de programme JavaScript en HTML.
<html><head><title>Test</title> <script language="JavaScript"> <!-- alert("Hello monde!"); //--> </script> </head><body> </body></html> |
Avec <script language="JavaScript"> vous introduisez
un passage pour JavaScript dans un fichier HTML (script = texte source, language =
langage). À la suite - le mieux serait la ligne suivante - vous devriez
noter <!-- pour introduire un commentaire.
Ainsi les navigateurs WWW plus anciens qui ne connaissent pas JavaScript
ignorent le code JavaScript qui suit et ne l'interprètent pas par erreur comme
du texte faisant partie du fichier HTML.
Dans l'exemple plus haut, grâce à JavaScript, une fenêtre d'annonce apparaît à l'écran avec le texte "Hello monde!".
À la fin du passage pour JavaScript, fermez le commentaire avec //-->. Avec </script> vous fermez le passage pour le code programme.
Il n'y a pas de règle précise qui stipule à quel endroit d'un fichier HTML un passage pour JavaScript doit être défini. Mais il est usuel pour les programmeurs en JavaScript de définir un tel passage dans l'entête du fichier HTML, à savoir entre <head> et </head>. Ainsi on s'assure au plus vite que le code soit déjà lu par le navigateur WWW et disponible au moment où il doit être exécuté.
Le code JavaScript peut être exécuté automatiquement lors de la lecture du
fichier HTML. C'est le cas quand des commandes JavaScript se trouvent dans un
passage JavaScript, mais hors de toute fonction
définie soi-même, comme dans l'exemple ci-dessus. Dans de tels
cas il est quelquefois aussi nécessaire de noter le passage en Script dans le
corps du fichier à savoir entre <body>...</body>.
Par exemple lorsque vous voulez inscrire avec JavaScript de façon dynamique
à la fin du fichier la date et l'heure de la dernière modification du fichier.
![]() ![]() |
JavaScript peut aussi figurer dans des repères HTML courants. Ce n'est pas
dans ce cas un code programme compliqué mais en règle générale seulement
l'appel à des méthodes, fonctions, objets, caractéristiques déterminés.
Il existe pour ceci ce que l'on appelle des Event-Handler.
Ce sont des attributs propres à JavaScript dans des repères HTML. Il est établi pour chacun des Event-Handler possibles dans quels repères HTML il peut
être placé.
<html> <head> <title>Test JavaScript</title> <script language="JavaScript"> <!-- function carre(nombre) { résultat = nombre * nombre ; alert("Le carre de " + nombre + " = " + résultat); } //--> </script> </head> <body> <form> <input type=button value="calculer le carré de 6 " onClick="carre(6)"> </form> </body> </html> |
L'exemple ci-dessus montre un fichier HTML complet. Dans l'entête est
défini un passage
de JavaScript. Dans ce passage se trouve une
fonction
définie soi-même, la fonction nommée carre(x). La fonction,
quand elle est appelée, reçoit un nombre x, calcule le carré de ce nombre et
donne le résultat dans une fenêtre de message. Ce code JavaScript n'est
cependant exécuté que quand la fonction est appelée explicitement. Dans
l'exemple l'appel se fait à l'aide d'un
bouton de commande.
Quand l'utilisateur clique sur le bouton, la fonction est exécutée.
Il est décrit dans la partie traitant des Event-Handler
ce que des mentions comme onClick= (comme dans l'exemple
ci-dessus) signifient et dans quels repères elles peuvent être placées.
![]() ![]() |
Depuis la version 1.1 de JavaScript (et aussi à partir de HTML 4.0), il est possible de noter du code JavaScript dans des fichiers séparés. C'est très utile si vous voulez utiliser les mêmes fonctions JavaScript dans plusieurs fichiers HTML. Car ainsi, vous n'avez besoin de noter le code qu'une seule fois et pouvez le référencer dans plusieurs fichiers HTML.
<html> <head> <title>Test JavaScript</title> <script language="JavaScript" src="carre.js" type="text/javascript"> </script> </head> <body> <form> <input type=button value="calculer le carré de 6 " onClick="carre(6)"> </form> </body> </html> |
function carre (nombre) { résultat = nombre* nombre; alert("Le carré de " + nombre+ " = " + résultat); } |
L'exemple fait la même chose que l'exemple du paragraphe précédent.
La différence est simplement que le code JavaScript se trouve dans un fichier
distinct. Pour cela notez dans le repère d'ouverture <script>
la mention src= (src = source = source) suivie entre
guillemets du nom du fichier distinct avec le code source. De la même façon
vous devriez noter la mention du
type
Mime du fichier incorporé. Avec la mention type="text/javascript"
vous déterminez le type Mime pour les fichiers JavaScript.
Le fichier avec le code source doit être un pur fichier ASCII et avoir l'extension .js. Le fichier ne doit contenir rien d'autre que du code JavaScript.
En référençant des fichiers JavaScript distincts qui se trouvent dans
d'autres répertoires ou sur d'autres ordinateurs serveurs sur Internet
s'appliquent les mêmes règles que pour incorporer
des graphiques.
Il se peut qu'un code JavaScript noté dans un fichier distinct fonctionne très bien localement mais ne fonctionne plus après avoir transféré les fichiers sur un serveur WWW. Demandez alors à votre fournisseur d'accès ou à l'administrateur Web du serveur d'ajouter le type Mime text/javascript pour les fichiers avec extension .js dans la configuration du serveur Web.
![]() | |
après:![]() |
![]() |
avant:![]() |
![]() |
Serge François, 13405@free.fr