5568 sujets

Sémantique web et HTML

Bonjour,

J'ai besoin de vos lumières messieurs dames...
Sur un projet développé à la base sur FF et IE9, Opera, Chrome, Safari j'ai eu la mauvaise surprise de (re)découvrir dans IE8 l'activation automatique du mode Compatibilité (ou dit également mode Quirck c'est ça?) : le site est déformé à cause de ce mode qui s'active, si je le désactive manuellement tout apparaît parfaitement bien. Super, sauf que je ne me vois pas lancer un popup pour demander à l'utilisateur de désactiver le mode compatibilité de son IE8 Smiley biggrin .
Après avoir lu sur le sujet et tenté par des actions simples de résoudre la chose j'en viens à la conclusion que c'est plus compliqué qu'il n'y parait... Tentatives au niveau du Doctype, balise X-UI-Compatible etc rien n'y fait, IE continue encore et encore de me "casser" mon site Smiley decu .

Précision qui a peut-être son importance, le site est monté sur PRESTASHOP 1.4.3

Bref, indépendamment de la validité de mon code, y a t'il un moyen pour indiquer à IE8 de ne pas activer son mode compatibilité ?

PS Je ne peux pas donner l'adresse pour vous permettre d'y voir de plus près car en dev. et sous htaccess.

Je vous remercie pour toute piste qui pourrait réinjecter un peu d'espoir dans les tubes de mon projet.
Bonjour,

Sauf erreur de ma part, ce mode s'active dans IE8 quand:

-il n'y pas de doctype valide
-le mode est forcé en utilisant la meta X-UA-Compatible

Si tu ne mets pas la meta, et que tu précise bien un doctype valide, çà devrait coller.
Hello.

Petit ajout à ce qu'a dit tilsitt : pense à vérifier qu'il n'y a pas d'espace(s) indésirable(s) avant ton doctype, et si tes fichiers sont en UTF-8, qu'ils sont bien sauvegardés sans BOM.
Modifié par Florian_R (21 Sep 2011 - 11:19)
Salut,

J'ajouterai également qu'il faut vérifier s'il n'y a pas de texte autre qu'une déclaration XML (un commentaire, par exemple) avant le doctype (dans ce cas de figure, IE toutes versions bascule en mode Quirks) et si l'on a affaire à un site traité comme un Intranet (dans ce cas, IE 8 active par défaut son mode de compatibilité IE 7).
Dernière chose: si tu testes à partir d'un fichier HTML local (protocole file:// ou bien en HTTP avec un domaine local sans TLD, par exemple http://localhost/ ou http://projectnamedev/), IE va utiliser le mode de compatibilité d'office.

Solutions:
- Désactiver cette fonctionnalité particulière (mode de compatibilité pour les pages «locales») dans les optons d'IE.
- Ou bien utiliser un en-tête HTTP X-UA-Compatible avec IE=edge. Attention, préférer un en-tête HTTP à une balise META équivalente.

Bien sûr si tu as ce problème sur un site distant (http://tonsite.tld/), le problème n'est pas là.
Dernier cas de figure: si c'est un site perso hébergé sur tonsite.free.fr, il hérite de règles de compatibilité pour le domaine free.fr (IE8/9 utilise une liste de gros sites nécessitant un affichage de compatibilité, et au moins au lancement d'IE8 free.fr était dans cette liste).

Ça fait beaucoup de cas de figure tout ça et il peut être difficile de s'y retrouver. Donc n'hésite pas à nous donner l'URL qui pose problème (si tu peux la partager) pour qu'on y jette un oeil.
Dors et déjà un grand merci pour vos réponses si détaillées !

Je devrais retester toutes vos pistes d'ici fin de semaine prochaine, et j'en suis sûr, je trouverai la solution grâce à vos bons conseils.

Je ne manquerai pas de repasser pour vous tenir au courant des évolutions.

Bonne continuation à vous et vos projets Smiley smile

Un strasbourgeois Smiley langue
Modifié par Goaim (21 Sep 2011 - 14:55)
Bonjour,

Je remonte ce post car j'ai un pb similaire avec IE8 et mon intranet.
A partir de mon PC.
Il est en <!DOCTYPE html>.
Si je l'attaque via http://localhost il me l'affiche en IE8
Si c'est via son adresse ip local 192.168...., IE8 également.
Mais si je lui précise le lien DNS (le nom du PC), il me l'affiche en IE7.
Le soucis c'est que les gens vont y accéder via son nom et non son ip.
J'ai essayer de mettre <meta http-equiv="X-UA-Compatible" content="IE=8">, une partie fonctionne comme IE8 et d'autres pas car, lorsque je regarde du coté getenv('HTTP_USER_AGENT') il est en réalité en IE7, il simule un pseudo IE8.
Je ne suis peut être pas super claire mais le pb ne l'est pas non plus.
Et IE surtout. C'est tellement plus simple avec FF ou Chrome.
D'avance merci.
januti a écrit :
J'avais bien lu mais j’espérais qu'il existait tout de même une solution en intranet.

À ma connaissance, la META X-UA-Compatible ou l'en-tête HTTP correspondant fonctionnent bien pour forcer l'utilisation du mode de rendu natif (plutôt que mode de compatibilité), et ce y compris pour des sites sur des domaines de type intranet ou des pages locales (protocole file://).
Bonjour tout le monde !

Je reviens sur ce sujet car j'ai un problème avec IE.
Mon site est ok sous :
Firfox, chrome, safarie

Sous IE9 le mode de document est "normes IE7", pourquoi ?

Voici le lien provisoire du site http://flahault.cluster015.ovh.net/

Si quelqu'un peu m'aider.

Merci beaucoup.
Modifié par Dious (31 Oct 2012 - 08:01)