Internet Explorer 8 - сломался сайт
Материал из 1GbWiki.
Версия 20:37, 24 марта 2009 (править) Dmach (Обсуждение | вклад) м ← К предыдущему изменению |
Версия 21:07, 24 марта 2009 (править) (отменить) Dmach (Обсуждение | вклад) м К следующему изменению → |
||
Строка 1: | Строка 1: | ||
В статье описываются действия по исправлению сайта неверно отображаемого в обозревателе Internet Explorer версии 8, но правильно отображаемого в обозревателях Internet Explorer предыдущих версий. | В статье описываются действия по исправлению сайта неверно отображаемого в обозревателе 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 === | === IIS версии 6 === | ||
Строка 56: | Строка 49: | ||
Header set X-UA-Compatible "IE=EmulateIE7" | Header set X-UA-Compatible "IE=EmulateIE7" | ||
+ | |||
+ | == Почему это случилось? == | ||
+ | |||
+ | Браузер Internet Explorer 8 по умолчанию использует режим обработки страниц в соответствии со всеми актуальными веб-стандартами, предыдущие версии Internet Explorer использовали режим обработки страниц отличающийся от веб-стандартов. Если вы наблюдаете проблему, то значит ваш сайт "заточен" под Internet Explorer старых версий и в новых условиях работает некорректно. Подробнее смотрите вступление к статье [[Internet Explorer 8 - режимы совместимости]] | ||
== Ссылки по теме == | == Ссылки по теме == |
Версия 21:07, 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 - режимы совместимости