Если я заставляю инструменты разработчика IE 8 быть «режим браузера: IE 8» и «Режим документа: IE 7 Стандарты», это теперь IE 7 или IE 8?

StackOverflow https://stackoverflow.com/questions/3114468

Вопрос

Если я обслуживаю страницу, используя

<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'>

Использование HTML 4.01 строго и загрузите эту страницу в IE 8, затем инструменты разработчика IE 8 показывают, что она использует:

Browser Mode: IE 8     Document Mode: IE 7 Standards

Ну, тогда IE 8 использует частично IE 8 Engine и частично IE 7 Engine? Какая часть IE 8 и какая часть IE 7?

Http_user_agent показывает как:

Mozilla/4.0 (совместимо; 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)

Так что я полагаю, что это не «полностью», т.е. 7.

Это было полезно?

Решение

Из -за метага, сообщающей IE8 для эмуляции IE7, двигатель макета (компонент браузера, используемый для рендеринга), изменяется, чтобы имитировать, что IE7. Ergo, режим документа отображается как режим стандартов IE7.

Поскольку IE8 полагается на метатеги, чтобы определить, как рендерировать страницу, я предполагаю, что IE8 не настроен на использование представления совместимости для нее. При этом режим браузера отображается в виде IE8, а струна пользователя-агента, которую он отправляет, также IE8.

Итак, резюме: остальная часть браузера все еще IE8; Только двигатель макета действует как IE7.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top