Jump to content
Sign in to follow this  
allhambra

Astuce : un bon affichage sous internet explorer

Recommended Posts

bonjour à toute la communauté,
il semblerai que ce problème soit récurrent.
Donc pour le régler,
1 - éditez "header.php"
2 - remplacez

/* CSS */
//$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';

par
/* CSS */
/
//$_SERVER["HTTP_USER_AGENT"] : variable donnant le navigateur
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
//Internet explorer
$css_files[_THEME_CSS_DIR_.'ie.css'] = 'all';

} else {
//Les autres
$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';
}


et voilà ;)
bon code

Share this post


Link to post
Share on other sites

salut ,

une petite précision concernant la détection des navigateurs et d'utiliser la méthode
Object Detection

d'accord c'est plus long mais reconnu comme la seule réellement efficace, et puis cela fait travailler
un peu son javascript (et puis c'est l'évangile selon Peter-Paul Koch )

et puis ... plus rien :coolsmile:

Share this post


Link to post
Share on other sites

Oulah! Vous vous compliquez beaucoup la vie, juste pour cibler une feuille de style sous IE...

La bonne solution (conseiller aussi par l'équipe de dev de IE), c'est d'utiliser le commentaire conditionnel. La seule technique sûre.

Voici un bon article sur le sujet : http://www.blog-and-blues.org/articles/Les_syntaxes_de_commentaires_conditionnels_pour_IE_Windows

Share this post


Link to post
Share on other sites

En tant que dev, je ne suis pas pour le Object Detection ni pour le IE-Cond pour la simple raison que le premier oblige JS et que le second n'est pas conventionnel... encore un truc pour que IE soit marqué dans la source... à ce MicroS -ex- oft ;)

Share this post


Link to post
Share on other sites
En tant que dev, je ne suis pas pour le Object Detection ni pour le IE-Cond pour la simple raison que le premier oblige JS et que le second n'est pas conventionnel... encore un truc pour que IE soit marqué dans la source... à ce MicroS -ex- oft ;)


De tout façon IE n'est pas conventionnel à la base...

Je suis un défenseur hardant des standards web, et je suis bien content d'avoir les commentaires conditionnels pour sortir le filtre PNG de IE6, et les propriétés pour activer le hasLayout. Avoir cela dans une feuille de style séparé est beaucoup plus propre que d'avoir ça dans la feuille de style principale avec des hacks css dangereux qui reste de ne plus marcher avec IE8. Je garde ainsi une feuille de style valide et à l'épreuve des améliorations futures de Trident.
De plus la syntaxe des commentaires conditionnels respecte celles des commentaires classique, cela ne vient donc par foutre le boxon dans le HTML non plus.

Là où on ne peut pas forcément espérer que le JS soit activé, Trident lui lira toujours le commentaire conditionnel. Bien plus sûr que n'importe quelle méthode en JS.

Et bien plus sûr qu'une détection selon la chaîne User-Agent où peut définir tout et n'importe quoi.

(pour info: je suis pourtant opposé au version targeting qui risque de débarquer avec IE8)

Share this post


Link to post
Share on other sites

Thierry, je suis ravis que tu alimente le débat ! C'est très plaisant.

Cela dit, tu es quelque peu contradictoire !

De tout façon IE n’est pas conventionnel à la base…


Est-ce une raison pour pourrit le code d'un point de vue des autres navigateurs avec des back-code comme les commentaires conditionnels ?

De plus, le User-Agent fonctionne très bien.

Enfin, je suis d'accord avec toi pour le filtrage des png... mais encore une fois, à afficher si et seulement si le fureteur est un IE ;)

Merci pour ce débat, ça fait plaisir (oula... j'en fais trop)

Share this post


Link to post
Share on other sites

Est-ce une raison pour pourrit le code d'un point de vue des autres navigateurs avec des back-code comme les commentaires conditionnels ?

De plus, le User-Agent fonctionne très bien.

Enfin, je suis d'accord avec toi pour le filtrage des png... mais encore une fois, à afficher si et seulement si le fureteur est un IE ;)


Sans les commentaires conditionnels ont aurait plus de code non valide dans nos documents HTML et CSS, car il faudrait adapter directement nos documents pour IE (encore 70% de parts de marché, le jour il en aura que 5%, on en reparlera...)

Tu dis que le commentaire conditionnel pourri le code. En pratique non : le commentaire conditionnel n'influe en rien dans le code, tu moment que le parseur SGML ou XML a déterminé le commentaire, il est tenu d'ignorer ce qui s'y trouve. IE lui, jette quand même un coups d'oeil pour voir si cela ne le concerne pas quand même, et si c'est le cas, il interprète. Rien dans les recommandations du W3C n'interdit cela.
Après en tant que puriste, on peut rouspeter car ce n'est pas ce qui avait été prévu à la base. Mais on est très loin du monde idéale où il suffit de faire exactement ce que le W3C préconise pour avoir un site qui marche.

Concernant le User-Agent, pendant des années Opera a essayé de se faire passer pour IE. (et je crois que cela aussi été le cas au niveau de l'object detection). Combien de vieux scripts de stat compte Firefox comme Nestcape, car ils sont pas foutu de lire correctement le User-Agent, car il n'ont pas été mis à jour? Se baser sur le User-Agent impose une surveillance continue des évolutions de ces chaînes. Faut pas se leurrer, une fois le site en ligne, très peu de personne vont s'amuser à mettre à jour leurs scripts.


Enfin, je suis d'accord avec toi pour le filtrage des png... mais encore une fois, à afficher si et seulement si le fureteur est un IE ;)


Justement, on sort le filtre DirectX barbare de IE que dans la feuille de style qui lui est réservé, et qu'il est le seul à lire grâce aux commentaires conditionnels. Ainsi le code valide n'est pas mélangé avec celui qui ne l'est pas. Et les bons navigateurs n'ont pas à lire l'abomination qui permet un rendu à peu près correcte du PNG.

Faut bien comprendre, si j'explique tout ça, ce n'est pas pour justifier les commentaires conditionnels d'IE. Mais pour éviter que sous prétexte ce n'est pas "pure", certaines personnes n'utilisent pas cette solution, alors qu'elle est la plus sûre et la plus rapide (en temps d'interprétation par le navigateur), lorsque l'on doit adapter qqchose à IE.
Après ne les sortez pas pour autant à toutes les sauces. Je préconise de ne les utiliser que pour sélectionner les CSS et les JS particulier à inclure aux documents.

Share this post


Link to post
Share on other sites

Étant un junior du PHP Group (et future certifié ZEND), je me dois quand même d'insister...

Ce n'est pas pour rien que mes collègues de browscap se crèvent le cul...

Récupérer le User Agent, ça existe...

Et être obliger de signer IE dans toutes les sources... je trouve ça dégradant en tant que puriste...

Quoi qu'il en soit, mes design sont pré-calculer pour ne par faire usage de cette mascarade.

Merci

Share this post


Link to post
Share on other sites
Étant un junior du PHP Group (et future certifié ZEND), je me dois quand même d'insister...

Ce n'est pas pour rien que mes collègues de browscap se crèvent le cul...

Récupérer le User Agent, ça existe...

Et être obliger de signer IE dans toutes les sources... je trouve ça dégradant en tant que puriste...

Quoi qu'il en soit, mes design sont pré-calculer pour ne par faire usage de cette mascarade.


Et bien puisque l'on est à sortir les titres. ;-) En tant que membre du WaSP International Liaison Group, ainsi que de quelques autres mouvements pro-standard web (que je ne vais pas citer, car malheureusement je ne leur consacre plus beaucoup de temps...), je me permets d'appuyer que les commentaires conditionnels est un mal nécessaire en considération de la situation actuelle du support des standards par IE.

Quand à dire que tes designs sont pré-calculé pour tenir compte de ce genre de situation, je crois que cela fait sourire de nombreux intégrateurs professionnels (non méchamment). Les maquettes, ce ne sont pas toujours nous qui les faisons. Et même si on fait notre possible parfois pour informer le designer de certaines contraintes, on peut se retrouver avec des trucs casse gueules à intégrer. (puis la souplesse du CMS utilisé influe beaucoup sur ce que l'on peut faire)

Si tous les navigateurs étaient full CSS 2.1, on pourrait en faire des trucs cools! Mais ce n'est pas le cas, et même des bons élèves comme Firefox ont encore du boulot. Résultat, on se retrouve encore trop souvent à bricoler avec des propriétés CSS qui n'ont pas vraiment été prévu pour ce quoi elles sont employés.

Il faut bien comprendre qu'il y a des contraintes économiques. Faire son possible que l'on est un web de qualité, j'y crois, et je m'y emplois, mais on ne peut pas se permettre de balayer tout une partie du web sous prétexte qu'elle ne correspond pas actuellement à cette philosophie. C'est le meilleur moyen de se retrouver face à un mur lorsqu'il faudra convaincre. On est encore dans une phase de transition...

Le problème du User-Agent, c'est l'on a toujours une longueur de retard sur le navigateur. Et concernant browscap (que je ne connaissais pas), cela implique comme je le disais, de toujours bien faire attention d'être à jour. Pour au final, en lisant la doc PHP de get_browser(), on se retrouve avec : "Essaie de déterminer les capacités du navigateur client." On a beau faire tout ce que l'on peut, au final, on est sur de rien avec cette méthode. Alors qu'avec le commentaire conditionnel, la responsabilité revient à IE.
La technique du User-Agent tel que get_browser impose en plus de tourner sur un serveur dynamique, alors que le commentaire conditionnel a l'avantage de fonctionner sur du statique.

Share this post


Link to post
Share on other sites

Je suis en effet sur terrain inconnu, et ravis d'avoir fait sourire les intégro pro, si ils passent ici :D

J'aimerai beaucoup te rencontrer.

Nous avons beaucoup à s'apprendre visiblement.

Encore merci pour cette conversation forte intéressante ! (En espèrent ne pas avoir largué trop de monde de la commu !)

Share this post


Link to post
Share on other sites
Je suis en effet sur terrain inconnu, et ravis d'avoir fait sourire les intégro pro, si ils passent ici :D

J'aimerai beaucoup te rencontrer.

Nous avons beaucoup à s'apprendre visiblement.

Encore merci pour cette conversation forte intéressante ! (En espèrent ne pas avoir largué trop de monde de la commu !)


Si tu es sur Paris samedi, on organise un petit picnic : http://france.w3cafe.org/Informations-et-programme,15.html

N'hésitez pas à passer si vous voulez discuter entre pro (et moins pro) du web sur les standards web / accessibilité / web de qualité (sans se prendre la tête). On ne mord pas si vous êtes pas du même avis que nous. ;-)

Sinon on prévois un prochain W3 Café (anciennement WaSP café) en septembre.

Et puis en novembre, il y a Paris Web : http://www.paris-web.fr/2008/
La conf sympa, intéressante et vraiment pas chère (comparé à ce que l'on trouve aux UK et aux US)
(il y a encore environ 15 jours pour soumettre une proposition de sujet pour cette année: http://www.paris-web.fr/2008/Appel-a-propositions)

Share this post


Link to post
Share on other sites

Étant Toulousain, je suis partant pour Paris Web !

Je ne serai pas loin non plus en décembre (AFUP...)

Avec grand plaisir ;)

Share this post


Link to post
Share on other sites

Le problème du User-Agent, c’est l’on a toujours une longueur de retard sur le navigateur

tout à fait d'accord , et les commentaires conditionnels sont un moindre mal .

Je ne peux pour l'instant ne me reconnaître d'aucun titre ;-) , excepté d'être un passionné du web et de l'application
de ces standards.
Il y a certaines contraintes comme le souligne si bien Thierry qui impose des "échapatoires".

j'utilise souvent (?) le langage svg (xml) qui ne devient "portable" pour IE qu'en utilisant la balise non-standard <embed>
Dois-je me passer du langage svg ou bien accepté une légère dérogation au standard pour pouvoir être afficher sur
Internet explorer !? :coolsmile:

j'ai donc mes pages non valides mais bon ...!

merci pour ces interventions très enrichissantes .
ps : c'est loin Paris de Biarritz !?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More