Приложение MVC заставляет IE9 использовать более старые стандарты

Когда я тестировал новое приложение ASP.NET MVC, которое я создал на другом компьютере, макет был неправильным и казался странным в IE9. При просмотре инструментов разработчика Mode/Standards были установлены более старые версии и даже режим совместимости. Я изменил это на IE9 и снова был в порядке.

Но затем, когда я снова открыл сайт, он снова установил эти значения, есть ли по умолчанию для них, которые сохраняют переопределение или мое приложение по какой-то причине приводит к изменению этих значений в более старых версиях?

Ответ 1

Существует некоторый механизм, который использует семейство браузеров IE, чтобы угадать, какой режим рендеринга будет лучшим. Более подробно об этой теме:

X-UA-Compatible установлен в IE = edge, но он все еще не останавливает режим совместимости

Итак, есть способ, как сказать, какую версию IE вы нацеливаете. Поместите этот тег html как первый (действительно первый) в элемент <head> после <title>

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=100" >
    ...

содержание должно быть contain="IE=8", если вы нацеливаете IE 8.0, IE = 100 будет работать для IE 9.0 ++.

Я читал, что это поведение не будет работать в интрасети, но мой опыт отличается. Дело в том, что элемент <meta> ДОЛЖЕН быть первым! Первое означает, без комментариев. Ничего, кроме первого, после названия.

Например, я делаю некоторое исследование на стороне сервера в коде, чтобы проверить, какая версия это, и поместите мета, связанную с браузером, - как первый элемент

Ответ 2

В качестве дополнительной заметки можно сохранить переопределение совместимости в локальном браузере при тестировании.

От (http://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/ie9-always-rendering-pages-in-ie7-compatibility/c0177b44-3950-e011-8dfc-68b599b31bf5):

Шаг 1: Позволяет отключить представление совместимости и проверить.

а. Откройте Internet Explorer.

б. Нажмите кнопку Alt на клавиатуре. Теперь нажмите "Сервис" в меню бар.

с. Выберите Параметры просмотра совместимости.

д. Снимите галочку для отображения всех веб-сайтов в разделе "Совместимость". Просмотрите и закройте окно "Настройки совместимости".

Шаг 2: Reset настройки и проверка проводника Интернета.

Обратитесь: http://support.microsoft.com/kb/923737 (Эта статья также может используется для интернет-исследователя 9)