L'objet navigator est un objet qui permet de récupérer des informations
sur le navigateur qu'utilise le visiteur. Cela paraît totalement inutile à première
vue, touefois, comme vous le savez sûrement, il existe de grandes différences entre différentes
versions d'un même navigateur (intègration de nouvelles technologies), ainsi qu'entre
des navigateurs de types différents (les deux antagonistes sont généralement Netscape Navigator ©
et Microsoft Internet Explorer qui d'une part n'interprètent pas toutes les balises HTML et les instructions Javascript
de la même manière, et qui, d'autre part, possède parfois des balises HTML propriètaires, c'est-à-dire
qui leur sont propres...).
Toutes les propriétés de l'objet navigator sont en lecture seule, elles servent
uniquement à récupérer des informations et non à les modifier (il serait idiot de
vouloir modifier les informations d'un navigateur...).
Les propriétés de l'objet navigator sont peu nombreuses, elles permettent
en fait de retourner des portions de l'information sur votre navigateur qui est en fait une chaîne de
caractères.
| Propriété | Description | Pour votre navigateur |
| navigator.appCodeName | retourne le code du navigateur. Un navigateur
a pour nom de code Mozilla (je ne sais pas pourquoi), cette information semble donc inutile
|
|
| navigator.appName | retourne le nom du navigateur
(la plupart du temps la marque). Cette propriété est utile pour différencier les navigateurs de
Netscape et de Microsoft)
|
|
| navigator.appVersion | retourne la version du navigateur.
Cette propriété prend la forme suivante:
Numéro de version( plateforme (système d'exploitation), nationalité)
Elle est utile pour connaître le système d'exploitation de l'utilisateur, mais surtout,
associée avec la propriété navigator.appName elle permet de connaître
les fonctionnlités que supporte le navigateur de votre visiteur.
|
|
| navigator.userAgent | retourne la chaîne de caractère
qui comprend toutes les informations. Les propriétés ci-dessus offrent un moyen pratique
de récupérer une partie de cette information (cette chaîne étant de longueur
variable, il ne serait pas évident d'en récupérer une portion sans les autres propriétés...)
|
|
Les navigateurs ne supportent pas tous le Javascript de la même façon, ainsi,
suivant les instructions Javascript que l'on utilisera (suivant qu'il s'agit de Javascript 1.0, 1.1, ou 1.2)
il faudra exécuter des instructions différentes. Par respect pour vos visiteurs
il est généralement bon de mettre en début de script une fonction qui permet
de déterminer la version du navigateur (et/ou sa marque) et exécuter les instructions
appropriées en fonction du résultat.
Voici une grille avec les navigateurs, les valeurs de propriétés et quelques
fonctionalités associées à ceux-ci:
| Navigateur |
Version |
navigator.appName |
navigator.appVersion |
Javascript |
| Netscape Navigator |
2 |
Netscape |
2.0 (Win95; I) |
1.0 |
| Netscape Navigator |
3 |
Netscape |
3.xx (Win95; I) |
1.1 |
| Netscape Communicator |
4 |
Netscape |
4.xx (Win95; I) |
1.1 |
| Microsoft Internet Explorer |
3 |
Microsoft Internet Explorer |
2.0 (compatible; MSIE 3.0x; Windows 95) |
1.0 |
| Microsoft Internet Explorer |
4 |
Microsoft Internet Explorer |
4.0x (compatible; MSIE 4.0x; Windows 95) |
1.2 |
| Microsoft Internet Explorer |
5 |
Microsoft Internet Explorer |
5.xx (compatible; MSIE 5.0x; Windows 95) |
1.2 |
Il est parfois bon de pouvoir exécuter un ensemble d'instructions différent
selon que le navigateur utilisé est Netscape Navigator ou Microsoft Internet Explorer,
voici un exemple de petit script permettant la distinction:
Nom = navigator.appName;
if (Nom == 'Netscape') {
placer ici les instructions à exécuter s'il s'agit de Netscape Navigator 4 ou supérieur
}
if (Nom == 'Microsoft Internet Explorer') {
placer ici les instructions à exécuter s'il s'agit de Microsoft Internet Explorer 4 ou supérieur
}
Une méthode améliorée si jamais on a souvent besoin de faire le test de navigateur, car l'accès
à l'objet navigator n'est effectué qu'une seule fois. Ensuite deux variables booléenne sont utilisées,
et le test consiste uniquement à regarder si la variable contient 1 au 0 et le navigateur n'a pas besoin de comparer la chaine nom
à chaque test de navigateur...
Nom = navigator.appName;
ns = (Nom == 'Netscape') ? 1:0
ie = (Nom == 'Microsoft Internet Explorer') ? 1:0
if (ns) {
placer ici les instructions à exécuter s'il s'agit de Netscape Navigator 4 ou supérieur
}
if (ie) {
placer ici les instructions à exécuter s'il s'agit de Microsoft Internet Explorer 4 ou supérieur
}
Imaginons que l'on veuille maintenant afficher du DHTML (HTML dynamique, c'est-à-dire
dont les objets peuvent bouger et être modifiés à loisir...), il faut alors
vérifier que les versions des navigateurs sont supérieures à 4 (seuls Netscape Navigator 4 (ou
supérieur) et Microsoft Internet Explorer 4 (ou supérieur) le supportent.
Voici le script permettant de vérifier que les versions sont supérieures à 4:
Nom = navigator.appName;
Version = navigator.appVer;
ns4 = (Nom == 'Netscape' && Version >= 4 ) ? 1:0
ie4 = (Nom == 'Microsoft Internet Explorer' && Version >= 4 ) ? 1:0
if (ns4) {
placer ici les instructions à exécuter s'il s'agit de Netscape Navigator 4 ou supérieur
}
if (ie4) {
placer ici les instructions à exécuter s'il s'agit de Microsoft Internet Explorer 4 ou supérieur
}
Cours de JavaScript en partenariat avec CommentCaMarche.net
N'hésitez pas à visiter cet excellent site contenant des cours sur presque tous les langages de programmation !
Annotations des visiteurs :


Pas d'annotation pour ce cours.
>> Poster une annotation sur ce cours
Les autres cours :

