Distinction de style selon le navigateur

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Distinction de style selon le navigateur

Message par GizMecano »

Hello world,

Suite à la précédente discussion sur les pépins d'importation de styles avec MSIE, j'ai finalement décidé de créer un style particulier pour ce navigateur, tout en le laissant accessible pour ceux qui utilise FF couplé avec Stylesheet Chooser, par exemple.

Histoire de prévenir les éventuels visiteurs, j'en ai profité pour paufiner aussi la détection des autres types de navigateurs, histoire de tenter de faire un petit peu de pédagogie à mon modeste niveau, idée que j'ai soumise par ailleurs sur le site SFX afin d'avoir quelques avis.

Puisque le sujet avait été abordé ici en tout premier lieu, si quelqu'un a un avis sur la question et la solution que j'ai finalement choisie, positif ou négatif, mais si possible constructif, j'attends vos commentaires.

Merci d'avance.

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

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:
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

Je suis entièrement d'accord avec Calimo. Les commentaires conditionnels c'est la méthode la plus robuste pour avoir du code spécifique à IE.
Jigho
Iguane
Messages : 637
Inscription : 29 juil. 2003, 08:44

Message par Jigho »

Intéressant, ça. Vous avez un lien qui explique comment ça marche, les "commentaires conditionnels" ?
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

Jigho
Iguane
Messages : 637
Inscription : 29 juil. 2003, 08:44

Message par Jigho »

Merci, je crois que je vais tenter ça ce soir.
Content d'avoir appris un truc utile :D
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Attention toutefois au "downlevel-revealed" (<![if expression]> HTML <![endif]>) qui est invalide... utilise plutôt un

Code : Tout sélectionner

	<!--[if !IE7]>
<![endif]-->
pour masquer le code à IE 6 et moins :wink:
Invité

Message par Invité »

Hello world,
calimo a écrit :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:
Je ne sais pas si c'est risqué, mais je crois que je n'ai pas en tête le but que vous avez, sur ce coup.

La page est valide : elle affiche un code normale. Et je n'ai pas l'intention de spécifier des tyles en particulier pour IE, mais de limiter l'utilisation d'un style particulier, auquel on aussi accès les utilisateurs possédant un changeur de style.

Je ne sais pas si la détection est risquée, elle est a priori basé sur le user-agent, et uniquement pour : 1. Afficher un ou plusieurs styles ; 2. Afficher ou pas un message pour dire pourquoi Firefox me semble personnellement meilleur.
PsyDK a écrit :Les commentaires conditionnels c'est la méthode la plus robuste pour avoir du code spécifique à IE.
Je ne dis pas le contraire, remarquez bien. Mais justement, je ne veux pas un code particulier pour IE, juste un affichage différent : pour le style et pour le message d'avertissement.

Quant à l'utilité des commentaires conditionnels, je vous fait confiance, mais on retombe dans le panneau de M$ : se faire ch... à corriger du code valide pour un navigateur qui ne l'est pas. Perso, je crois que j'ai perdu assez de temps avec ça :x

Pas vous :?: :wink:

Merci de vos commentaires.

Ciao,
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Anonymous a écrit :Hello world
Bon, Anonymous, c'est ma pomme. Voilà que les cookie aussi me font la gueule :evil:

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Dans ce cas si tu ne veux pas perdre de temps, alors ne t'en soucie pas :wink:

Si tu veux limiter l'utilisation des styles pour IE, alors tu dois être absolument sûr que c'est bien IE qui est en face, et que ce ne soit pas un navigateur qui se fait passer pour. De même, tu veux atteindre une efficacité totale, pour qu'aucun IE n'affiche jamais d'autres styles.
J'ai bon ?

Dans ce cas le seul moyen c'est les commentaires conditionnels :wink:
Un détection basée sur le user-agent est à proscrire absolument. Déjà tu risques de tomber sur un Opera qui s'identifie comme IE. D'accord c'est mal, d'accord c'est le problème de l'internaute, mais tu n'as pas le droit de l'empêcher d'accéder aux styles pour ça.
Ensuite un IE peut ne pas être identifié comme tel, soit que l'internaute utilise un aspirateur pour consulter le site hors-ligne, soit qu'il est derrière un pare-feu...
Utiliser le user-agent, c'est revenir au siècle dernier et aux pires heures du Web, il ne faut vraiment le faire sous aucun prétexte !

Ce que tu veux faire tu dois donc le faire via les commentaires conditionnels d'IE.
C'est de plus beaucoup plus simple que de mettre en place une détection du user-agent. Et si tu ne veux pas le faire, alors tu ne fais rien et tu laisse les choses en place.
Mais pitié, pas de détection du user-agent :evil:
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello world,
De même, tu veux atteindre une efficacité totale, pour qu'aucun IE n'affiche jamais d'autres styles. J'ai bon ?
Exactement. Je voudrais que IE ne sachant pas gérer convenablement certains styles, il ne charge uniquement que celui qu'il est capable de lire correctement.
Dans ce cas le seul moyen c'est les commentaires conditionnels :wink:
Bon, si tu le dis, je vais bien finir par te croire :wink:
Un détection basée sur le user-agent est à proscrire absolument.
Bon, je ne recopie pas la liste des pépins que tu identifies avec l'usage de ce procédé, mais j'avoue tout bêtement que je les ignorais totalement (notamment le coup d'Opera qui se fait passer pour IE) :?
Utiliser le user-agent, c'est revenir au siècle dernier et aux pires heures du Web, il ne faut vraiment le faire sous aucun prétexte !
Houla, comme tu y vas. Bon, admettons que j'ai été réactionnaire sans le savoir, d'accord :? Je ne savais pas tout ça : je croyais même bien faire en ne ciblant volontairement pas exprès que les utilisateurs d'IE, car je en crois pas que ce soit tout de même une honte de l'utiliser (le concevoir en revanche :wink: ).
Ce que tu veux faire tu dois donc le faire via les commentaires conditionnels d'IE. C'est de plus beaucoup plus simple que de mettre en place une détection du user-agent.
Ah ben... Justement, je n'ai pas du tout trouvé que c'était plus simple. A vrai dire, je n'ai rien compris. Je crois même me souvenir avoir vu un site qui disais que c'était relativement simple de se planter dans cette manoevre et qu'en abuser était dangereux pour la santé... Bon, j'ai bien été voir la page que tu as indiqué, mais je ne vois pas du tout comment mettre ça en place vu ce que je veux faire, en fait :? .
Mais pitié, pas de détection du user-agent :evil:
Bon, d'accord. Quand j'aurais compris comment mettre ces bidules en place pour n'afficher qu'un seul style pour IE et tous les autres pour le reste du monde, bien entendu... :wink:

Et merci pour toutes ces infos ! Pas si facile de savoir que des trucs ne sont pas si pertinents qu'ils paraissent au premier abord... :)

Ciao,
GizMecano.net
http://gizmecano.net
olab
Varan
Messages : 1254
Inscription : 30 juil. 2003, 20:20

Message par olab »

Voilà ce que j'ai utilisé pour le portail :

Code : Tout sélectionner

...
<script type="text/javascript" src="http://www.geckozone.org/squelettes/scripts.js"></script>
<!--[if gte IE 5.5000]>
<script type="text/javascript" src="http://www.geckozone.org/squelettes/pngIEfix.js"></script>
<![endif]-->
</head>
Ainsi seul IE lancera ce script qui permet de mieux voir les images PNG 24bits transparentes (mais j'ai pas encore trouvé comment filtrer les Mac, toujours avec les conditionnels, parce que c'est basé sur DirectX mon truc...)
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

calimo a écrit :Mais pitié, pas de détection du user-agent :evil:
Hum hum, j'ai retrouvé ça. Une erreur de jeunesse sans doute. :P
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je pense que ce qu'il veux dire, ce n'est pas de detection pour conditioner le bon fonctionement du site, alors que la personne à peut-être simplement changer la valeur. Là par exemple il ne fait que afficher un message avec, rien de plus...

Une remarque, firebird n'est pas la derniére version, mais c'est à nos risque et périle. Par contre phonix serais compatible???
Inscrit sur la liste des abonner absent...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

SB a écrit :Hum hum, j'ai retrouvé ça. Une erreur de jeunesse sans doute. :P
En effet, d'ailleurs ce n'est plus utilisé :roll:
Mais ce n'était pas utilisé dans le but de restreindre l'accès à quoi que ce soit, juste à afficher un message si l'utilisateur arrivait sur la page d'une extension pour la suite Mozilla avec Firefox, parce qu'il y en a qui n'ont pas compris la nuance :? :roll:. Sachant qu'il se pouvait bien que le message soit affiché au mauvais endroit :| Et aussi afficher un lien vers la dernière version, parce qu'il y a toujours des Mozilla 1.3 ou mois qui circulent, alors évidemment les dernières extensions...
Mais en aucun cas je ne cachais quoi que ce soit à IE (ou d'autres), pour ça il y a d'autres techniques !

Bref, tout est dans la nuance et l'utilisation qu'on en fait.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités