La tête du client 

 

Parmi les fonctions les plus utilisées du JavaScript, on doit mentionner sa capacité à identifier le navigateur et la machine utilisés par l'internaute. CrapoWeb vous propose de suivre pas à pas la réalisation d'un script à intégrer à votre pages d'accueil. 

On commence par insérer dans la balise HTML <HEAD> le code JavaScript requis :

<HEAD>
<SCRIPT LANGUAGE="JavaScript">

La propriété appName de l'objet navigator est une chaîne informant sur le nom du navigateur. Notre script stocke sa valeur dans la variable APP.

var APP=navigator.appName

La propriété appVersion de l'objet navigator donne quant à elle des informations sur la version du navigateur sous la forme suivante : Numéros de version (plate-forme ; pays; ). Avec un Mac utilisant Netscape 4, on obtient par exemple : 4.04 (Macintosh; I ; PPC)  où "I" signifie International release.

Il est aisé de convertir cette chaîne commençant par un nombre entier, à l'aide de le fonction parseFloat() . Nous créons une variable VERS pour stocker le résultât.

var VERS=parseFloat(navigator.appVersion)

Le mot clé if permet de tester si la propriété appVersion contient ou non la chaîne "WIN". Si appVersion ne contenait pas  la sous-chaîne "WIN" (si la machine était un Mac par exemple) alors indexOf( "WIN" ) plutôt que de renvoyer la position de la sous-chaîne, retournerait -1.

if (navigator.appVersion.indexOf("win") !=-1) {
MACHINE="Windows"}
else {
MACHINE="unknown"}
}

Pour identifier une autre plate-forme il faudrait alors procéder à autant de test qu'il y de désignations possibles ! On se simplifiera la tâche si l'on convertit appVersion en minuscules à l'aide de la méthode toLowerCase()  :

AV=navigator.appVersion.toLowerCase()

if (navigator.AV.indexOf("sunos") != -1 {
MACHINE="sun"}
if navigator.AV.indexOf("ppc") !=-1 {
MACHINE="Mac"}
...


Nous voici désormais en possession de trois variables APP, MACHINE, VERS qu'il est possible d'utiliser dans le corps de la page pour saluer le navigateur :

<BODY>
<SCRIPT LANGUAGE="JavaScript">
document.write("Bonjour &agrave; l'utilisateur de "+ APP + " "+ VERS +" sur "+ MACHINE) </SCRIPT>
</BODY>

 

Vous trouverez ci-après la source de la page dans son entier :

<HEAD>
<TITLE>
SALUT AU NAVIGATEUR
</TITLE>

<SCRIPT LANGUAGE="JavaScript">

// Script utile offert par le CrapoWeb™

var APP=navigator.appName

var VERS=parseFloat(navigator.appVersion)

if (navigator.appVersion.indexOf("win") != -1) {
MACHINE="Windows"}
else {
if (navigator.appVersion.indexOf("Mac") != -1 {
MACHINE="Macintosh" }
else {
MACHINE="Unknown"
}
}

</SCRIPT>
</HEAD>


<BODY>
<SCRIPT LANGUAGE="JavaScript">
document.write("Bonjour &agrave; l'utilisateur de "+ APP + " " + VERS + (MACHINE!="Unknown" ? " sur " + MACHINE : "")
</SCRIPT>
...
</BODY>
</HTML>



Une liste des informations retournées par appVersion en fonction des différentes plates-formes peut être consultée en ligne sur http://home.kiss.de/~i_thum/JS_tutorial/bstat/navobj.html