|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Javascript - L'objet NavigatorLes particularités de l'objet navigatorL'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, toutefois, 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 navigatorLes 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. Etant donné que ces propriétés sont statiques, il est nécessaires de les faire précéder par navigator : navigator.proprieteDans le tableau suivant, la colonne de droite donne le résultat fourni par la propriété pour votre navigateur : <script language="Javascript"> <!-- document.write(navigator.propriete); // --> </script>
Les méthodes de l'objet navigatorLes méthodes de l'objet navigator permettent d'effectuer certaines opérations concernant le navigateur du client. Dans la mesure où il s'agit de méthodes statiques, il est indispensable de les faire précéder par navigator.
Utiliser efficacement ces propriétésLes 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 :
Exemple de scriptIl 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.appVersion; 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 } Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||