Мета-тег режима стандартов IE8 - PullRequest
8 голосов
/ 14 февраля 2011

У нас есть веб-приложение для организации, которая официально обновляет свой стандартный браузер с IE6 до IE8 (празднование очереди), мы установили все наши DOCTYPE на <!DOCTYPE html> (а также исправили другой HTML-код) и я Я подумал, что в IE8 это приведет к отображению страницы в режиме стандартов IE8. Тем не менее, он по-прежнему отображается в режиме стандартов IE7.

Я добавил <meta http-equiv="X-UA-Compatible" content="IE=8"> в раздел <head>, и он по-прежнему не может перейти в режим стандартов IE8 по умолчанию. На этом этапе я предполагаю, что должен быть параметр (возможно, групповая политика и т. Д.), Который форсирует режим.

После прочтения взлома на форуме MSDN, что если вы поместите метатег перед тегом <html>, он правильно отобразится как режим стандартов IE8, и это сработало для меня. Есть ли другой способ сделать это? Просто выглядит ужасно, увидев там метатег ...

Вот примерно так выглядит каждая страница:

<!DOCTYPE html>

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

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Page Title</title>
</head>
<body>
</body>
</html>

Ответы [ 2 ]

11 голосов
/ 15 февраля 2011

Вы можете установить X-UA-Compatible как заголовок ответа HTTP, а не как метатег.

Это гораздо более чистое решение, чем размещение над тегом <html>.

A запутанный полезный пост в блоге, касающийся X-UA-Compatible и его многочисленных тонкостей:

http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-compatible-situation

8 голосов
/ 14 февраля 2011

Две возможности:

  • Тег meta определенно относится к разделу <head> документа.

  • Если этов Интранете это может быть «умное задание по умолчанию» IE. Да, есть такая вещь, как умные значения по умолчанию.Смотрите здесь .Потому что, если вы находитесь в интрасети, IE8 автоматически перейдет в режим совместимости с IE7, чтобы не сломать многие корпоративные приложения, использующие IE7.Имеет смысл, верно?Правильно?

...