none
IE8, как отключить режим совместимости через само веб-приложение. RRS feed

  • Вопрос

  • В своём веб-приложени выставляем метатэг:

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

    В результате ожидаем, что везде где открывается наше приложение всегда будет запускаться чистый IE8, без всяких режимов совместимости или эмуляции IE7.

    Однако если в настройках IE поставить галочки "Display intranet sites in Campability View" или "Display all sites in Campability View", то приложение всё равно будет открываться в режиме совместимости, и наше приложение уже не будет работать корректно. Просить каждого пользователя выставлять эту галочку нереально.

    Как можно сделать чтобы приложение в независимости от настроек клиента открывалось в режиме чистого IE8/IE9 ?


    • Изменено kidar2 17 февраля 2012 г. 8:58
    17 февраля 2012 г. 8:58

Ответы

  • Тот же админ может явно добавить старые веб-приложения в список сайтов с принудительным Compatibility View, через тот же group policy.

    >> Вот если бы само приложение решало в каком ему режиме отображаться, было бы универсально.

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

    Вы же выше вписали ie=edge. Через год выйдет IE10, в котором ваш сайт (возможно) поломается. Или кто-то прямо сегодня поставит IE9, и ваш сайт откроется в режиме IE9, а не "совместимости с IE8".

    -

    Впишите <meta http-equiv="X-UA-Compatible" content="IE=8"/>, и ваше приложение будет запускаться c Document Mode "IE8 Standards", и в 8, и в 9, вне зависимости от выставленных пользователем галочек. И админа не придется напрягать.

    Browser Mode будет IE8 Compatibility/IE9 Compatibility, но он будет влиять только на User Agent String и вычисление условных комментариев (которых у вас нет, я надеюсь).


    21 февраля 2012 г. 11:06

Все ответы

  • Яваскриптиком выводить плашку - старый браузер :(
    17 февраля 2012 г. 10:12
  • Как можно сделать чтобы приложение в независимости от настроек клиента открывалось в режиме чистого IE8/IE9 ?

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


    Для связи [mail]

    17 февраля 2012 г. 10:14
    Модератор
  • Тогда какой смысл выпускать новые версии браузеров если:

    1. На него надо вручную обновляться, причём обновление может сломать всю ОСь.

    2. Ещё специально сам барузер надо настраивать чтобы он работал как новая версия.

    17 февраля 2012 г. 11:33
  • Имеется ввиду -  если у меня IE9, а я ручками выставил режим седьмого ие, то выставлення мноой настройка будет приоритетней, т.к. "пользователь умнее" =)
    18 февраля 2012 г. 18:42
  • Если он такой умный, пусть делает это через devTools (там даже кликов меньше надо сделать чтобы включить один из "сотни" режимов отображения), а в настройках браузера режим совместимости надо по умолчанию отключить.

    А разработчики тех сайтов, которые якобы сломаются от этого, смогут воспользоваться вышеуказанным метатэгом.

    Куда добавить баг на эту тему чтобы исправление появилось в ближайшем WinUpdate?

    19 февраля 2012 г. 10:27
  • Все пожелания, предложения, баги вы можете публиковать на сайте Microsoft Connect.

    Для связи [mail]

    20 февраля 2012 г. 7:43
    Модератор
  • По умолчанию выставлен только Display intranet sites in Compatibility View. Насколько я понял, основная причина - огромное количество организаций с внутренними сайтами, сверстанными "только под тот IE, что был на момент сдачи проекта".

    Если у вас действительно много intranet-пользователей, то должен быть и админ, который снимет Display intranet sites in Compatibility View через group policy, сразу для всех.

    20 февраля 2012 г. 10:09
  • >админ, который снимет Display intranet sites in Compatibility View через group policy, сразу для всех.

    Не очень универсальный вариант. В этом случае могут перестать работать другие веб-приложения заказчика, которые заточены под 
    Compatibility View. Вот если бы само приложение решало в каком ему режиме отображаться, было бы универсально.

    21 февраля 2012 г. 3:53
  • Тот же админ может явно добавить старые веб-приложения в список сайтов с принудительным Compatibility View, через тот же group policy.

    >> Вот если бы само приложение решало в каком ему режиме отображаться, было бы универсально.

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

    Вы же выше вписали ie=edge. Через год выйдет IE10, в котором ваш сайт (возможно) поломается. Или кто-то прямо сегодня поставит IE9, и ваш сайт откроется в режиме IE9, а не "совместимости с IE8".

    -

    Впишите <meta http-equiv="X-UA-Compatible" content="IE=8"/>, и ваше приложение будет запускаться c Document Mode "IE8 Standards", и в 8, и в 9, вне зависимости от выставленных пользователем галочек. И админа не придется напрягать.

    Browser Mode будет IE8 Compatibility/IE9 Compatibility, но он будет влиять только на User Agent String и вычисление условных комментариев (которых у вас нет, я надеюсь).


    21 февраля 2012 г. 11:06