Internet Explorer 8 - сломался сайт

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 21:09, 24 марта 2009 (править)
NovaCxarmulo (Обсуждение | вклад)
м (Apache)
← К предыдущему изменению
Версия 21:13, 24 марта 2009 (править) (отменить)
Dmach (Обсуждение | вклад)
м
К следующему изменению →
Строка 52: Строка 52:
== Почему это случилось? == == Почему это случилось? ==
-Браузер Internet Explorer 8 по умолчанию использует режим обработки страниц в соответствии со всеми актуальными веб-стандартами, предыдущие версии Internet Explorer использовали режим обработки страниц отличающийся от веб-стандартов. Если вы наблюдаете проблему, то значит ваш сайт "заточен" под Internet Explorer старых версий и в новых условиях работает некорректно. Подробнее смотрите вступление к статье [[Internet Explorer 8 - режимы совместимости]]+Браузер Internet Explorer 8 по умолчанию использует режим обработки страниц в соответствии со всеми актуальными веб-стандартами, предыдущие версии Internet Explorer использовали режим обработки страниц отличающийся от веб-стандартов. Если вы наблюдаете проблему, то значит ваш сайт "заточен" под Internet Explorer старых версий и в новых условиях работает некорректно. Подробнее смотрите вступление к статье [[Internet Explorer 8 - режимы совместимости]].
== Ссылки по теме == == Ссылки по теме ==

Версия 21:13, 24 марта 2009

В статье описываются действия по исправлению сайта неверно отображаемого в обозревателе Internet Explorer версии 8, но правильно отображаемого в обозревателях Internet Explorer предыдущих версий.

Если вам доступен разработчик сайта - обратитесь к нему, возможно имеет смысл передать разработчику ссылку на статью Internet Explorer 8 - режимы совместимости и на эту статью. Если вы будете обращаться к разработчику - читать дальше не обязательно.

Содержание

Что делать

Вам следует установить флаг совместимости указывающий браузеру Internet Explorer 8, что сайт должен быть открыт в режиме совместимости с Internet Explorer 7. Флаг устанавливается через HTTP-заголовок в ответе веб-сервера с именем "X-UA-Compatible" и значением "IE=EmulateIE7". Флаг может быть установлен как для всего сайта через конфигурацию веб-сервера, так и для отдельных страниц через добавление элемента <meta> в заголовок страницы.

Подробности далее.

Изменение страниц сайта

Для нужной страницы нужно добавить в тело элемента <head> элемент <meta> с атрибутом http-equiv как показано в примере. Если данный заголовок для вашего сайта формируется в одном месте - достаточно будет одного исправления для всех файлов сайта. Если для каждой страницы он формируется отдельно или все страницы статические - нужно исправлять для каждой страницы сайта.

<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
  </head>
  <body>
  ...

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

IIS версии 6

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

для сайта example.com необходимо установить дополнительный http-заголовок "X-UA-Compatible: EmulateIE7"

IIS версии 7

Делается через файл web.config, если файла нет - нужно его создать в простом текстовом редакторе. Ниже указан XML-элемент, который нужно добавить в файл. От вас при этом требуется знание языка XML:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EmulateIE7" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Apache

Делается через файл .htaccess, ниже указан пример текста который нужно добавить в файл. Если файла нет - нужно его создать в простом текстовом редакторе.

Header set X-UA-Compatible "IE=EmulateIE7"

Почему это случилось?

Браузер Internet Explorer 8 по умолчанию использует режим обработки страниц в соответствии со всеми актуальными веб-стандартами, предыдущие версии Internet Explorer использовали режим обработки страниц отличающийся от веб-стандартов. Если вы наблюдаете проблему, то значит ваш сайт "заточен" под Internet Explorer старых версий и в новых условиях работает некорректно. Подробнее смотрите вступление к статье Internet Explorer 8 - режимы совместимости.

Ссылки по теме

Личные инструменты