JavaScript

Principe

Un javascript commence en général par :

<SCRIPT LANGUAGE="JavaScript">

et se termine par

</SCRIPT>

L'exécution de code dans une page peut être réalisé en l'insérant directement à l'endroit voulu (sans même utiliser la notion de fonction)

<SCRIPT LANGUAGE="JavaScript">

   document.write('Bonjour');

   for(i=1;i<10;i++) document.write(i);

</SCRIPT>

ou en provoquant l'appel à une fonction lorsque surviennent certains événements.
Le bref exemple qui suit montre le code d’une fonction Java Script qui affiche une chaîne de caractères reçues en paramètre.

<script language="JavaScript">

<!--function affiche(texte)

{

    alert(texte)

}

--></script>

que l'on peut appeler par exemple au chargement de la page par :

<body onload="affiche('Bienvenue sur ma page')">

Cette page ne vise pas à proposer une formation complète à Javascript, mais fournit simplement quelques informations de base. Plus de détails sur l'utilisation d'événements se trouvent sur une autre page.

Détecter l’écran

Javascript permet de récupérer certaines informations sur la configuration de l'utilisateur et de réaliser quelques effets plus ou moins amusants.

<SCRIPT LANGUAGE="JavaScript1.2">

<!-- debut du script

   if (screen.width==640)

        alert("vous êtes en 640x480");

      else if (screen.width >= 800)

                alert("vous êtes en 800x600 ou plus");

//  Fin du script -->

</SCRIPT>

Créer des fenêtres

On se sert de la méthode open pour créer une nouvelle fenêtre de navigateur comportant ses propres caractéristiques. La syntaxe de la méthode open est la suivante:

[objet window] = window.open ( [url] [,nom] [,caractéristiques] [,remplace] )

Paramètres de la méthode open:

Paramètre

Description

URL

adresse web du document qui doit être chargé dans la nouvelle fenêtre

Nom

nom de la fenêtre qui sera utilisée en tant que cible (TARGET) pour d'autres documents HTML

Caractéristiques

liste d'options de la fenêtre (barre d'outils, grandeur, etc)

Remplace

spécifie comment comment l'URL de la nouvelle fenêtre sera positionné parmi la liste des adresses contenues dans l'objet "History" (rarement utilisé)

Tous les paramètres sont optionnels. Par exemple, l'instruction ci-dessous provoquera l'ouverture d'une nouvelle fenêtre vide:

open ();

À l'aide de la liste des propriétés, on peut personnaliser l'apparence de celle-ci, suite à son ouverture.

Propriétés

Valeurs possibles

Description

Directories

yes, no

barre des répertoires fournissant des liens vers divers sites Web

Height

nombre en pixels

hauteur initiale de la fenêtre

Left

nombre en pixels

distance entre la bordure gauche de la fenêtre et le début de l'écran

Location

yes,no

barre de localisation

Menubar

yes,no

barre de menus

Resizable

yes,no

indique si on peut redimensionner la fenêtre

Scrollbars

yes,no

barre de défilement du document

Status

yes,no

barre de statut

Toolbar

yes,no

barre d'outils

Top

nombre en pixels

distance entre la bordure supérieure de la fenêtre et l'écran

Width

nombre en pixels

largeur intitiale de la fenêtre

Par exemple, le code JavaScript ci-dessus provoquera l'affichage d'une nouvelle fenêtre avec les propriétés spécifiées dans la liste:

fenetreA=window.open("test.html","contenu","status=no,location=yes,toolbar=yes,directories=no,resizable=yes,width=600,height=400,top=100,left=100");

La méthode close est utilisée pour fermer une fenêtre ainsi créée selon la syntaxe:

fenetreA.close();

La méthode close peut aussi s'appliquer à l'objet window, ce qui provoque la fermeture de la fenêtre courante:

window.close();

On pourra l'utiliser pour rajouter un lien de fermeture comme :

<a href="javascript:window.close()">F ermer la fen&ecirc;tre</a>

Il est possible de générer le contenu d'une fenêtre ou d'un cadre à l'aide de la méthode write ou writeln. On peut composer une page HTML entière et même y ajouter du code JavaScript. Le code ci-dessous illustre comment est généré le contenu dans la fenêtre:

fenetreA=window.open("","contenu","status=no,location=yes,toolbar=yes,directories=no,resizable=yes,width=600,height=400,top=100,left=100");

fenetreA.document.open();

fenetreA.document.write (<H1>Nouvelle fenêtre</H1>);

fenetreA.document.close();

La méthode open(), appliquée à l'objet document, doit être utilisée avant de pouvoir écrire dans la fenêtre. La méthode close doit être employée lorsque l'opération d'écriture est terminée.

Reconnaître le navigateur

Les principaux navigateurs n’utilisent pas des versions compatibles de JavaScript. Un problème de base est donc de détecter le navigateur utilisé afin de pouvoir écrire un script qui fonctionne dans tous les cas. Plusieurs approches sont disponibles :

<script language="JavaScript"><!--

Nav= (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)>= 3))

|| ((navigator.appName=="Microsoft Internet Explorer") &&(parseInt(navigator.appVersion) >= 4)));

if (Nav) { ici le code exploitant l’information}

--></script>

ou bien

if (document.all){

    dynamic3.innerHTML='<center>Loading image...</center>'

    dynamic3.innerHTML='<img src="'+which+'">'

}

else if (document.layers){

    document.dynamic1.document.dynamic2.document.write('<img src="'+which+'">')

    document.dynamic1.document.dynamic2.document.close()

}