Заставить Internet Explorer 9 использовать режим IE 9 - PullRequest
19 голосов
/ 07 февраля 2012

Я использую doctype HTML5 с мета-тегом X-UA-Compatible вверху:

<!DOCTYPE html>
<!--[if lt IE 7]> <html lang="en-us" class="ie6"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="ie7"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    ...

Но Internet Explorer 9 для некоторых пользователей отображает страницу в режиме совместимости. Я подозреваю, что это потому, что у них включен параметр «Отображать все сайты в режиме совместимости». Есть ли способ заставить IE9 использовать браузер IE9 и режим документов?

Ответы [ 7 ]

26 голосов
/ 07 февраля 2012

Оказывается, решение состоит в том, чтобы установить X-UA-Compatible в заголовке HTTP, а не в HTML:

 X-UA-Compatible: IE=edge,chrome=1

Это заставит Internet Explorer использовать новейший механизм рендеринга, даже если включен «Отображать все сайты в режиме совместимости».

10 голосов
/ 14 ноября 2012

Это также работает с этим в <head> в html:

  <meta http-equiv="X-UA-Compatible" content="IE=9">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
5 голосов
/ 11 июля 2014

Мета-тег X-UA-COMPATIBLE должен быть первым тегом внутри головы, иначе он не будет работать.Смотрите этот ответ: https://stackoverflow.com/a/22233206/3329906.

Все эти заголовки http излишни.

3 голосов
/ 16 июля 2013

, пожалуйста, добавьте в головной раздел вашего сайта, надеюсь, это поможет.

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=5, IE=7, IE=8, IE=9, IE=10" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
1 голос
/ 03 сентября 2013

Как говорит ДжонниО, его нужно отправить в качестве заголовка.В PHP добавьте это (перед отправкой любого другого вывода):

<?php header( 'X-UA-Compatible: IE=edge,chrome=1' ); ?>

В Wordpress это, вероятно, было бы лучше, если бы вы поместили его в качестве первой строки в вашем файле header.php, если вы этого не сделаете.не должно быть никаких выводов (или ошибок) до того, как этот файл будет отрисован, он должен работать.

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

ini_set('display_errors', 0);
ini_set('log_errors', 1);

В Wordpress это можно добавить в верхней части файла wp-config.php.

Если у вас включено кэширование с чем-то вроде WP SuperCache или W3В Total Cache все ставки отключены относительно поведения вашего сайта - вам нужно будет найти, как добавить дополнительные заголовки с помощью вашего плагина кэширования.

0 голосов
/ 15 декабря 2014

Только добавление

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

подойдет;)

Например:

<!DOCTYPE html>
<html lang="en-US" class="css3transitions"> 
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
0 голосов
/ 23 мая 2013

@ netzaffin прав - если X-UA-Compatible является первым метатегом в разделе HEAD, IE9 работает.

...