HTML отображается в IE8 Compat View, что приводит к гигантскому беспорядку

У меня есть страница, которая отлично работает на localhost, однако, когда я отправляю ее на наши промежуточные серверы и загружаю в IE8, она выглядит как мусор. Даже больше, чем страницы обычно выглядят в IE. Я проследил это до того, что страница отображается в режиме совместимости. Если я нажму F12, я увижу:

введите здесь описание изображения

Если я нажму Режим браузера и вручную изменю его на Internet Explorer 8, страница перезагрузится в своей прекрасной посредственности. Однако я не могу просить всех пользователей возиться с инструментами разработчика.

Есть ли способ заставить страницу отображаться в стандартном режиме IE8? Мой DOCTYPE выглядит так:

<!doctype html>

И заголовки HTTP в ответе:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Feb 2013 21:56:29 GMT
Content-Length: 6249

Любые идеи?

Обновление: Мои настройки представления совместимости следующие, но обратите внимание, что я не могу попросить пользователей изменить настройки для использования нашего сайта.

введите здесь описание изображения


person Mike Christensen    schedule 26.02.2013    source источник


Ответы (1)


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

По сути, он (Internet Explorer) ждет, пока вы сообщите ему, что вы проверили его с новыми версиями IE. Как только вы это сделаете, вы дадите ему печать одобрения выше, и он будет считать, что страница безопасна для отображения в режиме IE 8.

person Colton    schedule 26.02.2013
comment
Также я полагаю, что поскольку это тег http-equiv, вы можете добавить заголовок с эквивалентным именем и содержимым и должны получить эквивалентные результаты. Мне было проще добавить этот тег в файл эталонной страницы. - person Colton; 27.02.2013
comment
Разве это не приведет к принудительному режиму IE8 в IE ›8? - person isherwood; 27.02.2013
comment
Отлично! Это помогло. Я решил, что это параметр doctype, но не смог найти его в документах MSDN. - person Mike Christensen; 27.02.2013
comment
Это плохо повлияет на IE9+. См. здесь: stackoverflow.com/questions/10445781/ - person isherwood; 27.02.2013
comment
@isherwood - я открыт для других решений. Однако этот работает. - person Mike Christensen; 27.02.2013
comment
Это происходит в IE8. Вы пробовали IE9 или 10? Это может быть некрасиво. - person isherwood; 27.02.2013
comment
@isherwood - Сейчас 100% наших пользователей используют IE8. Так что да, если мы обновимся (вероятно, через несколько месяцев, если вообще когда-либо), нам все равно нужно будет все перепроверить. - person Mike Christensen; 27.02.2013
comment
@isherwood ответ, на который вы ссылаетесь, в какой-то момент явно неверен. Это означает, что тег не повлияет на IE=8, а только заставит браузер отображать старые версии, если они предоставлены. Это неверно, как показано в случае op. Если ОП хочет смягчить это, насколько я понимаю, они могут использовать IE=edge для использования последней версии. Кроме того, если сайт протестирован в IE8 и отображается правильно, то использование новых функций IE9 без достаточного тестирования может быть вредным, в то время как использование только IE8 гарантирует, что вашего сайта всегда будет достаточно. - person Colton; 27.02.2013