Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DÉTECTER NAVIGATEUR


Information sur la source



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

  • 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;
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;

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de kiki2sirom le 03/01/2007 15:46:21

'lut

Je pense que tu te compliques un peu la vie là non ?

Tu aurais pu faire directement comme ça :
        if(navigator.userAgent.indexOf("MSIE 7") != -1)
IE7 = true;
else if(navigator.userAgent.indexOf("MSIE 6") != -1)
IE6 = true;
else if(navigator.userAgent.indexOf("Firefox/2") != -1)
FIREFOX2 = true;
else if(navigator.userAgent.indexOf("Firefox") != -1)
FIREFOX = true;
else if(navigator.userAgent.indexOf("Netscape/7") != -1)
NETSCAPE7 = true;
else if(navigator.userAgent.indexOf("Netscape") != -1)
NETSCAPE = true;
else if(navigator.userAgent.indexOf("Opera/9") != -1)
OPERA9 = true;
else if(navigator.userAgent.indexOf("Opera") != -1)
OPERA = true;
else
AUTRE = true;

sans utiliser tes variables str

A+ et bonne prog'

kiki

signaler à un administrateur
Commentaire de Yxion le 03/01/2007 19:25:58

Très juste.
J'ai simplement voulu m'assurer que les infos recherchées soit chercher au bon endroit de la chaine vu que je peux tester que sur IE6 et 7, firefox 2, netscape 7 et opera 9, et que même si l'ordre des vérifs fait que ca marche très comme ca, je suis plus sur du résultat comme ca (la chaine de IE contient "Mozilla", celle de firefox contient netscape, je m'attends à un peu tous sur les navigateurs que je ne connais pas)
Et même en réduisant la zone de recherche de cette façon, si une vieille chaine de netscape contenait (supposition biensur) par exemple le nom du navigateur par défaut (IE par exemple), on aurai quand même une erreur.

signaler à un administrateur
Commentaire de PetoleTeam le 03/01/2007 19:36:22

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...

signaler à un administrateur
Commentaire de Lineplus le 19/03/2007 19:36:20

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...

signaler à un administrateur
Commentaire de goast_tu le 18/09/2007 21:43:41

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

signaler à un administrateur
Commentaire de Yxion le 18/09/2007 22:05:17

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...

signaler à un administrateur
Commentaire de goast_tu le 19/09/2007 13:10:36

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.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Detection du navigateur qui différencie FIREFOX et NETSCAPE [ par barth707 ] Bonjour,Je cherche depuis un moment déjà une detection en javascript qui me permet de faire la différence entre Firefox et Netscape.Si Détection et redirection si le navigateur est Mozilla Firefox [ par rem78 ] Bonjour,Je souhaite faire une détection de navigateur et une redirection seulement si le navigateur est Mozilla Firefox, sinon on reste sur la pa détecter les options javascript du navigateur [ par Tuxmym ] Bonjour,Est-il possible en Javascript (ou avec autre chose) de savoir si certaines options javascript du navigateur sont activées ou désactivées ?Je p Détecter la nouvelle URL ? [ par Drazounet ] Bonjour à tous,Je suis en train de développer un système qui permet de gérer plusieurs fiches, via un formulaire. J'ai adapté ce système pour que l'ut Détecter si le navigateur travail [ par aloisio11 ] Bonjour à tous, Je voudrais savoir comment faire, en Javascript, pour savoir si le navigateur travail (si la progressbar est en cours). Quelqu'un detection de navigateur [ par thierryjl ] Bonjourest il possible de detecter si un visiteur utilise un telephone portable, afin de le ré orienter vers une page adaptée ?merci test dans un script pour firefox [ par myriamcha ] j'ai recupere un script du pendu qui fonctionne tres bien sur IE et netscape, meme sur safari, sauf sur firefox. j'aurai voulu essayer de rajouter une Fermer fenetre en utilisant le navigateur Mozilla firefox [ par tawfikbe ] Bonjour,Jai écris un javascript qui ferme ma fenetre si jutilise le navigateur Internet explorer, mais non pas Mozilla Firefox. Le code est comme suit Javascript faire un setAttribute de style avec FireFox [ par JPVIO ] Bonjour Je cherche à modifier la couleur d'un texte au survol de la souris OK dans une cellule d'un tableau cela fonction trés bien avec IE Mais pas Feuille de style et javascript [ par Leoflo ] Salut tout le monde! Voilà mon pb : j'aimerais charger une feuille de style diffèrente suivant le navigateur du client. Donc j'ai fait une


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.