Si je force les outils de développement de IE 8 pour être « Mode Navigateur: IE 8 » et « Mode document: IE 7 Normes », est maintenant IE 7 ou IE 8?
Question
Si je sers une page en utilisant
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'>
en utilisant HTML 4.01 strict, et charger cette page dans IE 8, puis les outils de développeurs IE 8 montre qu'il est utilisé:
Browser Mode: IE 8 Document Mode: IE 7 Standards
Alors, est partiellement IE 8 en utilisant le moteur IE 8 et le moteur en partie IE 7? Quelle partie est IE 8 et quelle partie est IE 7?
HTTP_USER_AGENT est MONTRANT:
Mozilla / 4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727, .NET CLR 3.0.04506.30, .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
donc j'imagine que ce n'est pas "totalement" IE 7.
La solution
En raison de la balise meta dire IE8 à imiter IE7, le moteur de mise en page (le composant de navigateur utilisé pour le rendu des pages) est modifiée pour mimer celle de IE7. Ergo, mode document apparaît comme mode standard IE7.
Depuis IE8 se fonde sur la balise meta pour déterminer comment rendre une page, je devine IE8 est pas configuré pour utiliser l'affichage de compatibilité pour elle. Avec cela, le mode de navigation apparaît comme IE8 et la chaîne de l'agent utilisateur envoie est également. IE8
Pour résumer: le reste du navigateur est encore IE8; seul le moteur de mise en page agit comme IE7 de.