Détecter navigateur

Soyez le premier à donner votre avis sur cette source.

Vue 40 714 fois - Téléchargée 639 fois

Description

Ce code permet de détecter le navigateur et différencier Firefox qui se fait passer pour Netscape. J?ai vu pas mal de code la dessus, mais soit ils étaient simples et incomplets (non pas que le mien soit complet), soit d?une complexité à toute épreuve. Voilà donc quelque chose de simple, mais qui fonctionne sur IE7, FireFox 2, Netscape 7 et Opera 9 pour sûr.
Il s'agit d'une simple analyse de la chaine "navigator.userAgent", à compléter...
C'est mon premier code sur code source... soyez indulgent?lol

Source / Exemple :


var IE6 = false, IE7 = false,
 FIREFOX2  = false, FIREFOX  = false,
 NETSCAPE7 = false, NETSCAPE = false, 
 OPERA9 = false, OPERA = false, 
 AUTRE = false;
var strChUserAgent = navigator.userAgent;
var intSplitStart = strChUserAgent.indexOf("(",0);
var intSplitEnd = strChUserAgent.indexOf(")",0);
var strChStart = strChUserAgent.substring(0,intSplitStart);
var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
var strChEnd = strChUserAgent.substring(strChEnd);

if(strChMid.indexOf("MSIE 7") != -1)
 IE7 = true;
else if(strChMid.indexOf("MSIE 6") != -1)
 IE6 = true;
else if(strChEnd.indexOf("Firefox/2") != -1)
 FIREFOX2 = true;
else if(strChEnd.indexOf("Firefox") != -1)
 FIREFOX = true;
else if(strChEnd.indexOf("Netscape/7") != -1)
 NETSCAPE7 = true;
else if(strChEnd.indexOf("Netscape") != -1)
 NETSCAPE = true;
else if(strChStart.indexOf("Opera/9") != -1)
 OPERA9 = true;
else if(strChStart.indexOf("Opera") != -1)
 OPERA = true;
else
 AUTRE = true;

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
212
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
28 mai 2011
1
c'est sur qu'il n'y a pas beaucoup de gens qui se sert de ce genre de plug-in mais ca permet de tremper le site pour acceder dans des sonnes qui etaient prevu que pour IE par contre avec une detection par userAgent il y a des plantages de scriptes. C'est pour quoi detecter les objets dispo en javaScript est plus sur.
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

Pis alors ?
Moi je vais m'ammuser à développer un add-in pour IE qui va "tremper ce script". C'est quoi l'intérêt d'aller chercher des add-in qui font ce genre de boulot.
Pis s'il faut se référer à chaque add-in de chaque navigateur, on en fini plus.
Le seul défaut de ce script, c'est de ne pas prendre Safari, maintenant que je l'ai, je me suis ajouté.
C'est un exemple de code, pas une solution toute faite, post quelque chose qui marchera aujourd'hui sur toutes les sortes de naviagteurs et qui dure 1 ans...
Messages postés
212
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
28 mai 2011
1
il y a un petit probleme avec ce code. il existe des plug-ins de mozilla pour tremper le script et renvoyer un UserAgent different. Donc pour etre pls rigoureu il est plus correct de tester une par une les fonctions qu'on veut utiliser
Messages postés
9
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
15 mai 2007

document.write(navigateur);
if(navigator.userAgent.indexOf("MSIE 7") != -1)
var navigateur="Internet explorer";
else if(navigator.userAgent.indexOf("MSIE 6") != -1)
var navigateur="Internet explorer";
else if(navigator.userAgent.indexOf("Firefox/2") != -1)
var navigateur="Firefox";
else if(navigator.userAgent.indexOf("Firefox") != -1)
var navigateur="Firefox";
else if(navigator.userAgent.indexOf("Netscape/7") != -1)
var navigateur="Netscape";
else if(navigator.userAgent.indexOf("Netscape") != -1)
var navigateur="Netscape";
else if(navigator.userAgent.indexOf("Opera/9") != -1)
var navigateur="Opera";
else if(navigator.userAgent.indexOf("Opera") != -1)
var navigateur="Opera";
else
var navigateur="?";


j'ai très légèrement modifié le code et il me met undefined...
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour et bonne Année à tous
On peut faire plus compliqué aussi, mais plus complet si nécéssaire, à voir sur...
http://www.quirksmode.org/js/detect.html
c'est en anglais mais bon...Have a Good Year donc...
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.