Проблема с режимом совместимости IE на страницах интрасети (только внутренняя, внешне работает нормально)

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

Я использую сторонний компонент в качестве HTML-редактора / загрузчика файлов в своей интрасети: http://www.dmxzone.com/go?18424

По какой-то причине он работал некорректно, и затем я заметил, что IE автоматически переключался в режим совместимости, когда просматривал страницу с этим компонентом на нем. Если я нажму F12 и вернусь в режим IE9 или IE8, все будет нормально. Он также работает в Firefox и Chrome и т. Д. Я связался с разработчиками, которые мне очень помогли, но оказалось, что если я сделаю сценарий доступным для внешнего доступа в Интернете, он работает. Эта проблема возникает только при внутреннем просмотре в нашей сети, поэтому я думаю, что это не их вина.

Если я просматриваю веб-страницу на самом веб-сервере, используя http://Localhost/page.asp, он работает, тогда как если Я использую http://theservername/page.asp, он переключает режим совместимости и не работает.

Небольшое исследование, предложенное с использованием следующего метатега, предотвратит такое поведение:

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

но это не работает. Также не отключается опция «автоматически восстанавливать ошибки макета страницы с просмотром совместимости» в IE (что мы могли бы сделать при нажатии, поскольку это только приложение для интрасети).

Я пробовал использовать Fiddler, чтобы увидеть, отличаются ли страница или заголовки при просмотре внутри, но я ничего не могу обнаружить. Зона интрасети является «доверенной».

Мы используем прокси (Webroot) для нашей веб-фильтрации, что я подозреваю, но это может быть отвлекающим маневром.

Если у кого-то есть предложения (кроме не использовать IE: p), я был бы очень благодарен

Спасибо.


person Stevemid    schedule 05.03.2012    source источник


Ответы (1)


После долгих исследований я выяснил, что:

X-UA-Compatible действительно работает на сайтах интрасети, но только когда он выдается как HTTP-заголовок, а не как метатег.

спасибо stackoverflow!

Итак, немного больше читая и экспериментируя, я обнаружил, что добавляю:

<% Response.AddHeader "X-UA-Compatible", "IE=Edge"  %>

вверху страницы, устраняет проблему.

person Stevemid    schedule 06.03.2012