2009-10-30 12 views
11

Je travaille sur une page qui, lorsque je charge dans IE8 et affiche les outils des développeurs, me dit que la page par défaut est le mode quirks.Pourquoi est-ce que je déclenche le mode bizarre dans IE8?

J'ai une DTD stricte:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

Je suis même allé de l'avant et de mettre dans les normes explicites commutateur, bien que je ne pensais pas que je dois:

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

Je ne peux pas comprendre pourquoi la page par défaut n'est pas les normes IE8? Tout ce que je peux penser est que pour arriver à cette page, je dois d'abord me connecter à une application et les premières pages que je dois traverser sont les anciennes pages du mode bizarreries. IE détermine-t-il quel mode utiliser au niveau du serveur ou est-il censé décider page par page?

Merci!

+0

vous essayez de fermer toutes vos fenêtres IE8 et de charger à nouveau? – Jason

+0

cela a résolu mon problème de mode de quirks: http://stackoverflow.com/questions/6294301/dreamweaver-causing-quirks-mode-in-internet-explorer – rtpHarry

Répondre

22

Est-ce que IE décider du mode à utiliser au niveau du serveur

Généralement non, non. Il y a la laideur du compatibility view list, qui est spécifique au site, mais qui ne fait que vous renvoyer au mode Standards de style IE7, et non au mode Quirks de style IE5.5.

Votre code semble par ailleurs OK, à condition que ce DOCTYPE soit la toute première chose sur la page. IE sera forcé à document.compatMode= 'BackCompat' s'il y a un commentaire, un PI, une déclaration XML (antérieure à IE8) ou tout autre contenu textuel non-espace avant le doctype. Si un caractère de contrôle s'est faufilé dans ce que vous ne pouvez pas voir dans votre éditeur de texte, cela pourrait le faire.

Exemple de page de problème?

+3

Vous l'avez! Le problème était que la déclaration de doctype n'était pas absolument la première chose sur la page. Merci! –

+0

dans mon cas, j'ai une certaine session et une redirection d'en-tête, mais si vous faites écho le code après cela cela fonctionnera: 'echo ' ';'. vous pouvez utiliser tout autre 'doctype' – Patrioticcow