Page 1 sur 1

Comment détecter le navigateur avec un javascript ?

Publié : 17 déc. 2004, 05:30
par Mirovinben
Salut à tou(te)s

Au fil de mes lectures dans ce forum, j'ai trouvé ici ou là des propositions de scripts de détection du type et, éventuellement, de la version du navigateur utilisé par l'internaute... Mais c'est un peu en vrac et j'ai du mal à les retrouver... d'où ce thread pour regrouper les astuces...

Ma question :
Comment détecter précisément, simplement et de façon fiable le navigateur utilisé avec un javascript ?
(IE, FF, Opéra, Netscape, Mozilla... etc...)

Dans l'hypothèse où le navigateur X ne se fait pas passer pour le navigateur Y et que le javascript est autorisé par l'internaute of course !
Et ce serait sympa d'éviter les posts du type : "Fô pas détecter le navigateur !" même si c'est sans doute vrai...

Merci d'avance

Publié : 17 déc. 2004, 11:39
par calimo
Mon dieu !
Tu as lu le début de ce sujet ?
C'est non seulement impossible mais surtout non souhaitable :wink:

Il faut arrêter de vouloir avoir un contrôle total sur la page web. C'est une illusion, il y aura toujours des différences. Le truc c'est de faire une mise en page assez souple pour qu'elle se dégrade bien.

Publié : 17 déc. 2004, 15:11
par Invité
calimo a écrit :Mon dieu !
:wink: restons simples, appelle moi mirovinben !...
calimo a écrit :Tu as lu le début de ce sujet
:shock: A ton avis ? évidemment ! Et même la fin !...J'en ai encore les oreilles toutes rouges
calimo a écrit :C'est non seulement impossible mais surtout non souhaitable :wink:

Il faut arrêter de vouloir avoir un contrôle total sur la page web. C'est une illusion, il y aura toujours des différences. Le truc c'est de faire une mise en page assez souple pour qu'elle se dégrade bien.
:idea: Voui mais j'aimerais quand même une réponse à ma question même si...etc...

Publié : 17 déc. 2004, 15:18
par Mirovinben
:shock: oups !...
post précédent "visiteur" = "mirovinben"...
J'ai posté depuis mon boulot et ma station de travail n'est pas bien configurée !
Je retente le coup sinon j'attends d'être chez moi .... :oops:

Publié : 17 déc. 2004, 16:54
par calimo
Et pourtant j'y dis :
Le mieux c'est d'utiliser les commentaires conditionnels, tu as 100% de chances que ça marche. Toute autre détection de navigateur est trop risquée :wink:
Ensuite j'explique par A + B pourquoi il ne faut pas le faire, exemples à l'appui.

S'il y a un point pas clair, dis-le. :wink: Mais tu ne veux tout de même pas reprendre la discussion du début non ? :lol:

Publié : 17 déc. 2004, 17:44
par Mirovinben
calimo a écrit :S'il y a un point pas clair, dis-le. :wink: Mais tu ne veux tout de même pas reprendre la discussion du début non ? :lol:
ben heu non... pô trop envie :wink:
tant pis !

Publié : 17 déc. 2004, 17:54
par calimo
Sans refaire toute la discussion : que n'as-tu pas compris exactement ?

Publié : 17 déc. 2004, 18:17
par Mirovinben
calimo a écrit :Sans refaire toute la discussion : que n'as-tu pas compris exactement ?
C'est très simple, et même basique : je voudrais pondre un javascript (hé oui) qui me permette une détection élégante du navigateur utilisé... Sans entrer dans des questions philosophiques du genre "faut pas" ou "ça sert à rien"...

Je sais bien que certains navigateurs se font passer pour d'autres, que les internautes peuvent paramétrer comme ils veulent... mais mon expérience proffessionnelle de ces 8 dernières années (soutien informatique pendant 5 ans, oubmestre intranet depuis 3 ans) montre que la pluspart des utilisateurs prennent l'outil qu'on leur donne (IE très souvent) sans toucher aux paramètres, en gardant le javascript activé et ne sachant parfois pas mettre un favori / signet / marque page !...

Jusqu'à présent je faisais un test du genre "if document.all (...) else (...) mais il y a sans doute mieux !

Et puis je ne connais pas la technique (qu'il ne faut surtout pas utiliser mais...100%... etc...) du commentaire conditionnel et le lien trouvé ici me renvoie sur une page Krosoft (HEIN !?!) en anglais.... Le seul vocabulaire anglais que je maîtrise est le "pascal/Delphi".... pour le reste je préfère speaker in french. avec un bon accent bourrrrguignon.

Publié : 17 déc. 2004, 19:01
par jv2759
Mirovinben a écrit :Jusqu'à présent je faisais un test du genre "if document.all (...) else (...) mais il y a sans doute mieux !
Cela dépend de ce que tu veux faire, mais c'est encore la meilleur solution.

Par contre fait l'inversse, le plus evoluer en premier, sinon ...

Donc cela donne une truc dans le genre :

if document.getelementbyid{} else if document.all else if document.layer ou je ne sais plus trop quoi...

Pourquoi byid en premier, ainsi si c'est ie6, il prendrant le byid, c'est plus propre tout de même...

Sinon une remarque, essais le plus possible que le site soit naviguable, même sans javascripte... Car si la majoriter utilise ie telle qu'elle, il ne faut pas oublier les minoriter, qui bien souvant n'ont rien demander. Par exemple un menu qui ne serais visible qu'en javascripte et une tres tres mauvaise idée. Par contre un menu visible sans javascripte et qui grace au javascripte contien de effet facilitant la naviguation, alors la c'est acceptable.