强制Internet Explorer 9使用IE 9模式

时间:2012-02-07 19:18:08

标签: internet-explorer internet-explorer-9 cross-browser doctype

我在顶部附近使用带有X-UA兼容元标记的HTML5 doctype:

<!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 个答案:

答案 0 :(得分:26)

事实证明,解决方案是在HTTP标头中设置X-UA-Compatible而不是在HTML中:

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

这将迫使Internet Explorer使用最新的渲染引擎,即使&#34;在兼容性视图中显示所有网站&#34;已开启。

答案 1 :(得分:10)

它也在html中的<head>中使用它:

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

答案 2 :(得分:5)

X-UA-COMPATIBLE元标记必须是头部内的第一个标记,否则它将无效。请参阅此答案:https://stackoverflow.com/a/22233206/3329906

所有这些http标题都是过度的。

答案 3 :(得分:3)

请附加在您网站的主管部分,希望它有所帮助。

<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" />

答案 4 :(得分:1)

JohnnyO表示必须将其作为标题发送。在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启用了缓存,则所有关于您网站行为的投注均已关闭 - 您需要搜索如何使用缓存插件添加额外标头。

答案 5 :(得分:0)

@netzaffin是对的 - 如果X-UA-Compatible是HEAD部分中的第一个元标记,则IE9可以正常工作。

答案 6 :(得分:0)

仅添加

<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" />