Режим совместимости IE нельзя отключить с помощью конфигурации Apache vhost - PullRequest
1 голос
/ 14 января 2011

У меня большая проблема при попытке отключить режим совместимости IE.

После долгих попыток я проследил проблему до того, обслуживается ли сайт как конфигурация Apache по умолчанию или как виртуальный хост.

Я знаю, что это тот случай, когда я захожу на сайт с доменом localhost, все в порядке. Как только я получаю доступ к той же странице через домен, настроенный на виртуальном хосте, сайт отображается в режиме совместимости.

Может кто-нибудь пролить свет на эту сумасшедшую проблему ???

Обслуживание сайта в качестве хоста по умолчанию не вариант.

  • Dean

Ответы [ 2 ]

1 голос
/ 14 января 2011

Ах-ха!

С здесь (выделено мое):

На сегодняшний день Internet Explorer 7 поддерживает большое количество бизнес-сайтов. Чтобы сохранить совместимость, Internet Explorer 8 поставляется с интеллектуальными настройками по умолчанию, основанными на оценке зоны . В состоянии по умолчанию все сайты в общедоступном Интернете отображаются в режиме стандартов Internet Explorer 8 (отключено отображение совместимости), а все веб-сайты интрасети отображаются в режиме стандартов Internet Explorer 7 (представление совместимости включено).

...

Если вы переходите на сайты в локальной интрасети, такие как http://myPortal и http://sharepoint/sites/mySite, Internet Explorer 8 идентифицирует себя со строкой агента пользователя «7», вектором версии «7» и отображает веб-страницы, которые запускают режим стандартов в режиме стандартов Internet Explorer 7. Эта комбинация позволяет веб-страницам, которые правильно работали в Internet Explorer 7, продолжать делать это в IE8.

Я не комментирую это. Я уверен, что на это есть веские причины, но у меня все еще есть желание ударить меня головой о стол.

0 голосов
/ 10 апреля 2017

Когда веб-сайт обслуживается в локальной сети int ra , Internet Explorer (по умолчанию) переключится в режим, совместимый с IE7.

Вы можете использовать эту функцию, чтобы отключить это «IE7 в режиме совместимости с внутренней сетью» , включив заголовок ответа X-UA-Compatible на свою страницу:

HTTP/1.1 200 OK
X-UA-Compatible: IE=8

Вы также можете добавить эквивалент заголовка ответа http на вашу страницу, включив элемент meta http-equiv в HEAD> вашего документа.Например:

<!DOCTYPE html>
<html>
   <head>
   <title>Hello world!</title>
   <meta http-equiv="X-UA-Compatible" content="IE=9">
   </head>
<body>

</body>
</html>

Примечание : Если вы включите заголовок

| Header           | Value   |
|------------------|---------|
| X-UA-Compatible  | IE=10   |

в ваш HTML-документ, вы должны добавить его достаточно высоко в HEADпрежде чем что-то еще происходит, что блокирует в режиме документа - и вы заблокированы в IE7.

Неправильный пример 1

<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<html lang="en">
<head>

meta элементы находятся внутриhead элемент

Неправильный пример 2

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Hello, world!</title>
   <link rel="stylesheet" type="text/css" media="all" href="main-73c2257f2d.css" />
   <meta http-equiv="X-UA-Compatible" content="IE=8">

Элемент X-UA-Compatible должен появляться первым в head;за исключением title и других meta элементов.

Заголовок X-UA-Compatible не чувствителен к регистру;однако он должен появляться в заголовке веб-страницы (раздел HEAD) перед всеми остальными элементами, кроме элемента title и других метаэлементов.

Неправильный пример 3

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
   <meta http-equiv="X-UA-Compatible" content="IE=10">

Условия блокируют браузер в режиме IE7.Удалите их.

Правильно

<!doctype html>
<head>
   <title>Hello, world!</title>
   <meta http-equiv="X-UA-Compatible" content="IE=10">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...