0

Si je sers une page en utilisantSi je force les outils de développement d'IE 8 à être "Browser Mode: IE 8" et "Document Mode: IE 7 Standards", est-ce IE 7 ou IE 8?

<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éveloppement de l'IE 8 montre qu'il utilise:

Browser Mode: IE 8  Document Mode: IE 7 Standards 

Eh bien, IE IE 8 utilise-t-il partiellement le moteur IE 8 et en partie le moteur 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.

Répondre

1

Étant donné que la balise META indique à IE8 d'émuler IE7, le moteur de mise en page (composant du navigateur utilisé pour afficher les pages) est modifié pour imiter celui d'IE7. Ergo, le mode Document apparaît en mode standard IE7.

Comme IE8 s'appuie sur la balise meta pour déterminer comment rendre une page, je suppose qu'IE8 n'est pas configuré pour utiliser la vue de compatibilité. Avec cela, le mode navigateur apparaît comme IE8 et la chaîne user-agent qu'il envoie est également IE8. Donc, pour récapituler: le reste du navigateur est toujours IE8; seul le moteur de disposition agit comme IE7.

+0

Je pensais sur les outils de développement, l'utilisateur étant capable de les changer signifie que nous pouvons le forcer à utiliser ce mode et ignorer le IE = EmulateIE7? –

+0

Oui, mais les outils de développement sont généralement utilisés par les développeurs, et nous forçons ces modes à tester et déboguer. Les utilisateurs ne voient généralement pas ou n'utilisent pas cette fonctionnalité. – BoltClock