Introduction au Javascript Le langage du visiteur par Django (Oznog) Blais, Trucsweb (12 Novembre 1997)
Le Javascript est issu de la technologie Netscape® qui travailla conjointement avec ECMA, le consortium européen des normes, afin d'adopter formellement le Javascript comme standard international. Le Javascript a été créé pour Internet. Il est très populaire car il lie au HTML la plupart des éléments de programmation rencontrés sur le Net. Comme le C ,le Java, ou les modules externes ou "plug-in"! Il permet à ces objets de communiquer et opérer entre eux. C'est le langage parfait pour le développement d'interfaces multiple et pour le contrôle du HTML dynamique, le "DHTML".
Netscape® continue de développer le langage Javascript pour lui fournir une plus grande puissance et pour faciliter son utilisation. Le Javascript 1.2 contient de nouveaux dispositifs comprenant entre autres un modèle de soutien de sécurité "capabilities-based" . Et du côté serveur, une facilité d'accès aux bases de données de presque tous les constructeurs.
Techniquement, le langage Javascript est un langage interprété au même titre que le HTML. C’est dire que ce langage n’a pas besoin d’être compilé avant d’être fonctionnel. C’est le navigateur qui se charge d’interpréter le langage Javascript et d’exécuter les tâches soumises par le langage. C’est d’ailleurs pour cette raison que le Javascript n’est pas toujours compatible selon le navigateur. Le DOM (document object model) est une méthode qui permet de définir plusieurs types d’objet justement pour réaliser des de documents le plus compatible possible. Le Javascript n’y échappe pas. Le tableau ci-dessous démontre la compatibilité du Javascript.
Télécharger un document HTML
officiel de Netacape sur le Javascript
jscript.zip
| Compatibilié
du Javascript entre les navigateurs |
| Navigateur |
JS 1.0 |
JS 1.1 |
JS 1.2 |
JS 1.3 |
| IExplorer®
3.0 |
x |
- |
- |
- |
|
IExplorer® 4.0 |
x |
x |
x |
- |
| IExplorer®
5.0 5.5 |
x |
x |
x |
x |
|
Netscape® 2.0 |
x |
- |
- |
- |
| Netscape®
3.0 |
x |
x |
- |
- |
| Netscape®
4.04-5 |
x |
x |
x |
- |
| Netscape®
4.06 4.7 |
x |
x |
x |
x |
|
Compatibilité du Javascript
Ce langage est aussi dit
"embed script" ou script imbriqué, parce que le Javascript
peut-être placé ou imbriqué à tout endroit entre les balises <HTML>
et </HTML>. En général on le retrouve entre
les balise d'en-tête <HEAD> et </HEAD>
parce que cette section du HTML est interprétée en premier. Le navigateur interprète
le code d'une page Web en partant d'en haut pour finir en bas de la page. Donc,
si par exemple vous désirer faire un préchargement de vos images en Javascript,
placer le script en question entre les balises d'en-tête feront en sorte que les
images seront chargées avant même que la page ne s'affiche. D'un autre côté, si
vous désirez afficher la date en bas de votre page, le script Javascript devra
être imbriqué en bas de votre page à l'endroit même ou la date devra être affichée,
donc entre les balises <BODY> et </BODY>.
DÉCLARATION
<SCRIPT LANGUAGE="Javascript">
-- Le code de votre script
</SCRIPT>
Dans l'exemple, le code
de votre script doit toujours être entouré des balises <SCRIPT>
et </SCRIPT> pour indiquer au navigateur que
le code a interprété est du Javascript à l'aide de l'attribut LANGUAGE. Mais vous
avez peut-être déjà remarqué un Javascript déclaré comme ceci :
<SCRIPT>
-- Le code de votre script
</SCRIPT>
C'est que le langage SCRIPT
est par défaut le Javascript. Il n'apparait donc pas nécessaire de préciser le
langage, chose que je ne vous conseil pas de faire. Indiquer plutôt le langage
et aussi la version du Javascript utilisée. Vous verrez plus loin pourquoi. Voci
la façon d'imbriquer un script Javascript:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript1.2">
<!-- Début
-- Le code de votre script --
// Fin -->
</SCRIPT>
</HEAD>
<BODY>
-- Code de votre page HTML --
</BODY>
</HTML>
Noter l'indication de la
version 1.2 et l'ajout de HTML au Javascript avec la balise ou pseudo-balise "<!--".
Cette balise HTML indique une remarque qui ne faut pas interpréter. Le navigateur
n'interprétera aucun code tant et aussi longtemps qu'il ne rencontrera pas la
terminaison de cette balise soit "-->". Ce code
dénote à quel point le navigateur change de conscience lorsqu'il rencontre la
balise SCRIPT. Il fera abstraction de la remarque et continuera d'interpréter
le code. Quand le navigateur interprète du Javascript c'est la balise "//"
qui indique une remarque. Balise utilisée pour terminer notre remarque HTML. Alors
pourquoi cette remarque HTML. C'est pour les navigateurs qui ne comprennent pas
le Javascript, comme ils ne le comprennent pas, tout code Javascript sera donc
en remarque, seule la balise indiquant un script sera interprétée sans aucun effet
puisque le HTML n'indique jamais ce qu'il ne comprend pas.
Vous pouvez imbriquer autant
de script que vous désirez soit en ouvrant et fermant à chaque fois les balises
<SCRIPT> soit en les ajoutant une après l'autre
dans une seule déclaration <SCRIPT>.
Pour les plus avancés, ce
langage peut aussi être interprété par le serveur. En effet, si le serveur le
permet, comme IIS par exemple, l'ajout de " RUNAT=server " dans la déclaration
d'un script fera en sorte que le langage sera interprété par le serveur et non
le navigateur, mais attention, il ne peut être manipulé de la même façon. Vous
ne pouvez par exemple utiliser des fonctions qui obtiennent certaines informations
via le visiteur.
Exemple :
<SCRIPT LANGUAGE="javascript1.2" RUNAT=server>
LE JAVASCRIPT AVEC ÉVÉNEMENTS
La Javascript peut aussi être interprété lorsqu'un événement survient. Un événement
est une action qui est provoquée par le visiteur. Par exemple, lorsqu'il clique
sur le bouton de la souris. Vous pouvez déclarer se qu'on appelle des " Event
handlers " (manipulateur d'événement ) qui réagiront seulement à un événement
précis. La syntaxe est :
<BALISE
HTML eventHandler="Code Javascript">
Par exemple, vous avez créé
un script qui fait un calcul et vous voulez qu'il soit exécuté seulement quand
le visiteur clic sur un bouton.
<INPUT
TYPE= "button" VALUE="Calculer" onClick="calcul(this.form)">
La balise HTML INPUT est
utilisée pour afficher un bouton (voir section HTML) et l'événement Javascript
pour indiquer un clic est "onClick" . Voir plus loin
les événements Javascript.
ATTENTION
En terminant il faut mentionner le problème de l'utilisation des guillemets. Puisque
le guillemet " est utilisé couramment en Javascript,
qu'il permet entre autres d'indiquer une chaîne de caractère, vous ne pouvez ajouter
des guillemets dans une chaîne de caractère. Vous pouvez alors utiliser le guillemet
simple '. Mais encore une fois cela peut causer des
problèmes dans une chaîne délimitée par des guillemets simples. Alors utiliser
le symbole / qui indique d'interpréter le caractère
qui suit ce symbole comme étant un simple caractère.
Exemple :
Chaine = "Voilà une chaîne de caractères avec /"guillemet/"
qui fonctionne."
Chaine = 'Autre exemple avec "guillemet simple" qui fonctionne
et l/'apostrophe.'
|