我的HTML页面中的标题如下所示,我在IE8中打开此站点。 当我在“Web Developer”中查看时,“if IE 7”处于活动状态。 WebBrowser在“IE8 Compact VIew”上设置BrowserMode,在“IE7标准”上设置“文档模式”。 我在网站上有javascript,这对这些设置不起作用。 为什么会这样?为什么IE变量等于7?为什么浏览器处于这些模式?
<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html lang="de" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="de" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="de" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="de" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html lang="de" class="no-js"> <!--<![endif]-->
答案 0 :(得分:8)
其他人建议使用X-UA-Compatible IE=8
,但请注意,即使用户有IE9(或更高版本),这也会强制IE在IE8模式下运行。这通常不是你想要的。
最好指定IE应该使用最新的渲染引擎。为此,您使用相同的meta
代码,但使用IE=edge
作为值,而不是IE=8
。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
请注意,IE有一个配置面板,允许您指定何时使用兼容模式。出于某种原因,默认设置是对“本地Intranet中的站点”使用兼容模式。
这是IE在您开发网站时意外进入兼容模式的最常见原因,因为您的localhost
服务器将被视为“在本地Intranet中”。
您可以通过转到“工具”菜单并选择“兼容性视图设置”选项轻松更改此设置。
答案 1 :(得分:2)
MSDN博客上的这篇文章介绍了如何启用兼容模式。有一个很好的流程图:http://blogs.msdn.com/b/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx
要修复它,您还可以使用.htaccess文件或任何适合您的Web服务器的文件发送以下HTTP标头:
X-UA-Compatible: IE=8
以下是关于X-UA兼容的参考:http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx
答案 2 :(得分:0)
您需要告诉IE该页面是否可以使用
尝试添加:
<!--Display in Native ie9 standards mode-->
<meta http-equiv="X-UA-Compatible" content="IE=9" >
<!--Display in Native ie8 standards mode-->
<meta http-equiv="X-UA-Compatible" content="IE=8" >
<!--Display in Native ie7 standards mode-->
<meta http-equiv="X-UA-Compatible" content="IE=7" >