Вопрос по internet-explorer – Перевести IE8 в режим совместимости IE7

59

Есть ли способ заставить IE8 перейти в режим совместимости IE7, используя .NET или Javascript?

Кроме того, я могу сделать это, используя настройки IIS? Bryan
В IE8 есть ошибки, которых нет в IE7 и которые устраняются при переходе в режим совместимости:stackoverflow.com/questions/1070178/… Эта ошибка затронула мой сайт, и я бы скорее сказал IE8 правильно отобразить его, как IE7 и любому другому браузеру, добавив одну строку в мой файл .htaccess, чем добавить обходной путь, специфичный для браузера, на мои настоящие страницы. Jan Goyvaerts
Я думаю, что я мог видеть значение в этом для старых страниц, но ПОЖАЛУЙСТА, не создавайте новые страницы, которые зависят от IE7 ... позвольте зверю умереть. TM.
Добавление заголовка X-UA-Compatible также удаляет «представление совместимости» Кнопка, которая выглядит более профессионально ИМО. Пользователь не должен выяснять, какой режим лучше всего подходит для вашего сайта. Работа веб-мастера заключается в том, чтобы сайт поддерживал все основные браузеры. Jan Goyvaerts

Ваш Ответ

9   ответов
11

заголовок HTTP Вы можете установить, что заставит IE8 использовать режим совместимости IE7.

Я не мог использовать метатег для работы, но добавление этого заголовка сделало свою работу. Спасибо!
5

если вы хотите переключить рендеринг страницы IE 8 в стандартном режиме IE 8

<meta http-equiv="X-UA-Compatible" content="IE=100" /> <!-- IE8 mode -->
31

    <httpProtocol>
        <customHeaders>
            <add name="X-UA-Compatible" value="IE=7"/>
        </customHeaders>
    </httpProtocol>

У меня есть лучшие результаты с вышеупомянутыми решениями. Не уверен, почему это не было дано как решение. :)

Я думаю, что заголовки HTTP переопределяют любые метатеги, поэтому они должны быть предпочтительным решением, если у вас есть возможность.
Отличное решение, когда вы не можете изменить содержимое страницы или изменить заголовки страницы напрямую.
+1 Хорошее решение, если вы используете IIS7 -iis.net/ConfigReference/system.webServer/httpProtocol
1

http://weblogs.asp.net/joelvarty/archive/2009/03/23/force-ie7-compatibility-mode-in-ie8-with-iis-settings.aspx

Прочитайте также комментарии: 1 апреля 2009 г., 8:57, Джон Мур

Быстрое продолжение. Это отлично работает для моего сайта, пока я использую значение IE = EmulateIE7. Попытка использовать IE = 7 привела к тому, что мой сайт практически завис при работе на IE8.

86

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

IE8 отобразит страницу как IE7.

@ Брайан: Нет. Вот почему мы используем главные страницы.
Вы правы - но попробуйте добавить его сразу после открытия & lt; head & gt; тег. У меня были проблемы, когда это было дальше вниз по странице.
Что если я не добавлю эту строку на каждую страницу aspx на моем сайте. Могу ли я сделать это с IIS? Bryan
См. Ответ DDaviesBrackett ниже, чтобы сделать это на уровне сайта.
Проблема с этим решением состоит в том, что вы не можете поместить его внутрь<!--[if IE]> условные обозначения стиля - буквально это должен быть первый тег в элементе head. Это означает, что на самом деле это не долговременное жизнеспособное решение, так как оно вынудит даже IE9 перейти в режим рендеринга IE7. Если никто не знает решение для этого ...
1

Эмуляция IE 8.0s только обещает отобразить страницу одинаково. Есть тонкие различия, которые могут привести к нарушению функциональности. У меня недавно была проблема только с этим. Где IE 7.0 использует javascript-функцию-обертку под названием «anonymous ()» в IE 8.0 оболочка была названа по-другому.

Поэтому не ожидайте, что такие вещи, как JavaScript, «просто сработают», потому что вы включаете эмуляцию.

Написание кода, который зависит от & quot; имени & quot; анонимной функции не является надежной зависимостью, независимо от версии браузера.
5

чем это. Используя HTML, вы можете просто добавить этот метатег на свою страницу (первым делом на странице):

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

Если вы хотите сделать это с помощью .net, вам просто нужно отправить свой http-запрос с мета-информацией в заголовке. Это потребовало бы обновления страницы, чтобы работать все же.

Также вы можете посмотреть на похожий вопрос здесь: Режим совместимости в IE8 с использованием VBScript

13

http://blog.lroot.com/articles/the-ie7-compatibility-tag-force-ie8-to-use-the-ie7-rendering-mode/

На сайте написано добавление этого метатега:

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

или добавив это в .htaccess

Header set X-UA-Compatible: IE=EmulateIE7 
Спасибо за htaccess один!
0

meta http-equ = "X-UA-Compatible" содержание = & Quot, IE = 7 & Quot; / & GT;

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

Похожие вопросы