我刚刚安装了IE9 beta并且在我创建的特定网站上(HTML5)IE9跳转到兼容模式,除非我手动告诉它不要。我试过删除网站的几个部分,但没有变化。包括删除所有CSS包括。在我的其他网站上,它很好。
此外,不要手动设置,因为IE9会记住用户设置,你不能将其恢复为自动(或者至少我没有找到,甚至没有通过隐私浏览和清空缓存)
反正。它跳转到兼容模式的网站:http://alliancesatwar.com/guide/
它呈现正确的地方:http://geuze.name/basement/(我不能发布超过1个超链接)
两者都使用相同的doctype
和全部。这些网站使用相同的基本模板(编码,元标记,doctype和相同的javascript)有很多共同之处(除了外观)
如果有人对我有答案,那就太好了!在IE7模式下呈现的HTML5网站非常......蹩脚。
答案 0 :(得分:262)
适合我在IE9 documentMode中使用。
如果没有X-UA-Compatible
标头/元来设置显式的documentMode,您将获得一个基于以下模式的模式:
您可以从'工具 - >更改这些设置IE菜单中的兼容性视图设置。当然,这个菜单现在是偷偷摸摸的隐藏,所以在你按Alt键之前你不会看到它。
作为网站作者,如果您确信您的网站符合标准(在其他浏览器中渲染效果良好,并使用功能嗅探来决定使用哪种浏览器变通办法),我建议您使用:
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
或HTTP标头:
X-UA-Compatible: IE=Edge
获取最新的渲染器,无论IE版本在使用中。
答案 1 :(得分:33)
我把
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
之后的第一件事
<head>
(我在某处阅读,我记不清了)
我简直不敢相信它确实有用!!
答案 2 :(得分:22)
要强制IE在IE9标准模式下渲染,您应该使用
<meta http-equiv="X-UA-Compatible" content="IE=edge">
某些情况可能会导致IE9跳转到兼容模式。默认情况下,这可能发生在Intranet站点上。
答案 3 :(得分:6)
我已在单独的StackOverflow线程上发布此评论,但认为值得在此重复:
对于我们内部的ASP.Net应用程序,在网页,web.config或代码隐藏中添加“X-UA-Compatible”标记完全没有区别。
仅对我们有用的事情是在IE8中手动关闭此设置:
(叹气。)
这个问题似乎只发生在IE8&amp;内联网站点上的IE9。外部网站将正常运行并使用正确版本的IE8 / 9,但对于内部网站,IE9突然决定它实际上是IE7,并且没有任何HTML 5支持。
不,我也不太明白这个逻辑。
我不情愿的解决方案是测试浏览器是否支持HTML 5(通过创建画布,并测试它是否有效),并在用户无效时显示此消息:< / p>
它不是特别用户友好,但让用户关闭这个烦人的设置 似乎是让他们正确运行内部HTML 5网络应用程序的唯一方法。
或让用户使用Chrome。 ; - )
答案 4 :(得分:1)
http://www.HTML-5.com/index.html处的网站确实具有X-UA兼容的元标记,但仍会进入兼容性视图,如地址栏中的“撕裂页面”图标所示。如何获得菜单选项以强制IE 9(最终版本9.0.8112.16421)在标准模式下呈现页面?我试图右键单击那个撕裂的页面图标以及“Alt”键技巧来显示Rene Geuze提到的其他菜单选项,但这些选项不起作用。
答案 5 :(得分:1)
另外在更现代的网站上,如果你在你的html标签上使用条件语句按照样板,这将由于某种原因导致ie9默认为兼容模式。这里的修复是将条件语句移出html标记并将它们添加到body标记中,换句话说,将其添加到head部分之外。这样,您仍然可以在样式表中使用这些类来定位旧浏览器。
答案 6 :(得分:0)
对我来说很好看:
您确定没有全局设置或其他内容吗?这是Windows 7上的测试版的干净安装。开发人员工具报告该页面默认为IE9标准模式。
答案 7 :(得分:0)
我最近不得不解决这个问题,这就是我所做的:
首先,这个解决方案是围绕调整Apache服务器。
第二个主要的想法是IE9中有一个错误,这意味着meta标签不起作用,而不是这个解决方案试试这个