强制Internet Explorer 9中使用IE 9模式

问题描述:

我使用的是HTML5 DOCTYPE近顶的X-UA兼容meta标签:强制Internet Explorer 9中使用IE 9模式

<!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浏览器和文档模式?

+1

对于那些谁不能使用HTTP标头:我读过了'HTTP的当量=“X-UA兼容”元标记必须是“

”部分中的**第一个**标记。 HTTP标头的顺序并不重要。 – netzaffin 2013-05-22 12:07:26
+0

只有添加 将做) 对于例如:

2014-12-15 13:45:58

事实证明,解决的办法是设置在HTML中的HTTP标头X-UA兼容的,而不是:

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

这将强制Internet Explorer使用最新的渲染引擎,即使“在兼容性视图中显示所有网站“处于打开状态。

+0

我将这个字符串包含在一个元数据中,就像很多网站所建议的那样,但它在那里没有任何效果。将它放在HTTP标头中似乎是可靠工作的唯一方法。 – 2012-04-11 23:11:35

+0

是的,我得出了同样的结论。它必须在HTTP标头中声明。 – 2012-04-12 00:48:28

+0

你是什么意思http标题,我有同样的问题,如果我把它放在meta部分头部没有任何反应 – shorif2000 2013-03-11 14:52:07

它也有这方面的工作在<head>在HTML:

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

这不适合我。在上面的答案中添加标题是唯一的解决方案。 – davidjb 2013-03-18 23:46:20

@netzaffin是正确的 - 如果X-UA兼容是HEAD部分中第一个meta标签,IE9工作。

请追加到您网站的头部分,希望它有帮助。

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

正如JohnnyO所说,它必须作为标题发送。只要你没有任何输出

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

在WordPress这很可能是最好的,如果你把它作为第一行中的header.php文件:在PHP中添加这个(发送任何其它输出之前) (或错误)之前,该文件被呈现它应该工作。

如果有错误被输出到浏览器,您可能想告诉错误,通过添加像这样到应用程序登录,而不是输出到屏幕上:

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

在WordPress的,可能是添加在wp-config.php文件的顶部附近。

如果您使用WP SuperCache或W3 Total Cache之类的功能启用了缓存,则所有投注都与您网站的行为有关 - 您需要搜索如何为缓存插件添加额外的标头。

X-UA-COMPATIBLE元标记必须是头内的第一个标记,否则它将无法工作。看到这个答案:https://*.com/a/22233206/3329906

所有这些http标头的东西是矫枉过正。

只有加入

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

为什么这种内容类型的元标签不在头部? – 2015-02-02 16:17:45