L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
97538 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     L'écriteau
     Faro-dessing
     Activeartanima...
     Le village de ...
     Images gifs an...
     Netsources
     Easy-script.com
     Création de site
     Créer son site...
     K i s s design
     Les autres
     Votre site ici ?


  > L'objet navigator



Les particularités de l'objet navigator

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

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éDescriptionPour 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...)  

Utiliser efficacement ces 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

Exemple de script

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 :

|< Les boites de dialogue L'objet history >|








44 visiteurs
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
iFrance
Apres des moments difficiles, iFrance a revu toute son architecture technique pour hebergement de nouveau tres performant !
http://www.ifrancepro.com/
Cat : Hebergement gratuit
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2584 sur le web
>> Tous les scripts

     LES MEMBRES :
53609 membres
9759 comptes CountUs
1355 comptes myCircle

     LES FORUMS :
14 forums
38921 topics
187793 messages
>> Les forums

    SONDAGE

Utilisez-vous une page d'accueil personnalisable ?
Oui, la page d'accueil de Google (pas le moteur)
Oui, netvibes
Oui, mon Yahoo
Oui, my MSN
Oui, un autre
Non, je n'utilise pas de service de page d'accueil personnalisée
La mini-astuce "PHP / mySQL" du jour par @Rano
Lorsque vous voulez faire une recherche sur les fonctions PHP, allez simplement à l'url :
http://fr.php.net/fonction_que_vous_cherchez (par exemple http://fr.php.net/mail)
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 12/05/2008 15:09:00 | Design by Studcrea | Gen. en 0.486 sec.