Retrouvez cet article dans : Linux Pratique 41
Comment identifier le navigateur Web du visiteur ?
C'est Javascript qui va nous venir en aide ici. En effet, la propriété Window.navigator se réfère à un objet Navigator qui contient des informations sur le navigateur Web, telles que la version et la liste des formats de données qu'il peut afficher. L'objet Navigator a 5 propriétés principales qui permettent de récupérer des informations sur le navigateur utilisé :appNameÂ: permet en théorie de récupérer le nom du navigateur utilisé ; ceci retourne " Microsoft Internet Explorer " ou " Netscape ". Mais attention, certains navigateurs, comme Opera peuvent passer pour d'autres selon le réglage de leurs préférences. En outre, si le navigateur utilisé est Firefox,appNameretourne également Netscape (alors qu'ils ont tous deux des comportements très différents). Pour plus de précision, on préférera utiliseruserAgent.appVersion: permet de préciser le numéro de version et/ou d'autres informations sur la version du navigateur (notez qu'il s'agit là d'un numéro de version " interne ", qui peut ne pas correspondre au numéro de version présenté à l'utilisateur...).userAgent: chaîne que le navigateur envoie dans l'en-tête HTTP USER-AGENT. Cette propriété permet de confirmer (ou d'infirmer) la valeur retournée par appName, car elle contient toutes les informations deappNameetappVersion.appCodeName: retourne le nom de code du navigateur.platformÂ: retourne la plate-forme matérielle sur laquelle est installé le navigateur (Win32, Linux i686, etc.)
<script language="javascript"> document.write ( "<b>Votre navigateur est : </b>"+ navigator.appName + navigator.appVersion + navigator.userAgent); </script>Vous pouvez également afficher ces informations dans de petites fenêtres d'alerte (Fig. 1), via le script suivant :
<script type="text/javascript"> var nomnav = navigator.appName; alert(navigator.appName); alert(navigator.appVersion); alert(navigator.userAgent); </script>
Â
Fig. 1 : Une petite boîte de dialogue apparaît. Elle contient les informations retournées par la propriété navigator.userAgent (navigateur : Firefox 2.0).
Comment intégrer le script sur mon site Web ?
Au final, tout ceci peut servir à orienter le visiteur vers telle ou telle page, ou plutôt à activer la feuille de style adéquate, en fonction du navigateur qu'il utilise. C'est ce à quoi nous allons nous intéresser ici... Voici, à titre d'exemple, un petit script simple, destiné à faire appliquer une feuille de styles spécifique au navigateur de Microsoft :<script type="text/javascript">
var nomnav = navigator.appName;
if (nomnav == 'Microsoft Internet Explorer') {
   document.write("<link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" href=\"styles_ie.css\" />");
} else {
   document.write("<link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" href=\"styles_ff.css\" />");
}
</script>
Tout d'abord, le script identifie le navigateur du visiteur et le stocke dans une variable nommée nomnav. Puis, on enchaîne sur une instruction conditionnelle : si la chaîne de caractères retournée par la propriété Pour finir
Pensez également aux utilisateurs qui ont désactivé Javascript ! Vous pouvez ajouter à leur intention, sur une page d'accueil préalable, des liens qui les dirigeront sur l'une ou l'autre page de votre site (liée à la CSS adéquate) en fonction de leur navigateur, comme ceci :<noscript>    <p>Cliquez sur le lien qui correspond à votre navigateur Web :</p>    <a href="#">Microsoft Internet Explorer</a>,    <a href="#">Autre (Firefox, Opera, etc.)</a> </noscript>

Fig. 2 : Le script identifie le navigateur Firefox, c'est donc la feuille de styles correspondante qui est utilisée... Fig. 3 : Ici, le script a identifié le navigateur Internet Explorer.
 Retrouvez cet article dans : Linux Pratique 41





Bonjour,
Je pense que cette article évangélise une mauvaise pratique de développement Web.
Dans un premier temps, il faut créer une CSS qui utilise les standards correctement. Cette CSS fonctionnera de la même manière sous Firefox, Opera, Chrome ou Safarie. Et une css pour IE, voir plusieurs CSS par IE selon les versions de IE et les contraintes commerciales.
Dasn un second temps, il faut utiliser la technique des commentaires conditionnels qui est bien plus propre et accessible que l’utilisation de Javascript.
Cdt,
Philippe