Question

Dans IE 8, nous pouvons apporter les outils de développement. Puis sur le dessus, il y a un mode navigateur:

IE 7
IE 8
IE 8 Compatibility View

Donc, si IE 7 est de forcer la page à afficher comme si le navigateur est IE 7 et
IE 8 est de forcer la page à afficher en utilisant la norme IE 8 comme il est,
alors quel est le IE 8 "Compatibility View" supplémentaire pour? Qu'est-ce que l'utilisation est-il? Si nous avons déjà IE 7, pourquoi besoin ce mode supplémentaire? Qu'est-ce que ce mode ne que le mode IE 7 ne peut pas faire?

Était-ce utile?

La solution

La différence se trouve dans la chaîne de l'agent utilisateur.

"IE7" émule la chaîne de l'agent utilisateur IE7 exactement, montrant MSIE 7.0. « IE8 » utilise la chaîne de l'agent utilisateur natif de IE8 exactement, montrant MSIE 8.0 ainsi que Trident / 4.0, qui est la version du moteur de mise en page Trident utilisé dans IE8.

IE8-compatibilité native utilise la chaîne de l'agent utilisateur du navigateur, mais change "8,0" à "7,0".

Parce que Trident n'a pas de numéro de version avant IE7, la chaîne IE7 ne montre pas « Trident / x.x ». Donc, avec une chaîne d'agent utilisateur MSIE 7.0, si « Trident / 4.0 » est également présent, vous savez qu'il est IE8 en cours d'exécution en vue de la compatibilité; si "Trident / x.x" est pas là, vous savez qu'il est soit le vrai IE7 ou IE8 en mode IE7 (pas en mode de compatibilité).

J'espère que mon explication est assez claire, et voici un exemple de certaines chaînes de l'agent utilisateur ci-dessous.

IE7:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8-Compatibilité:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top