根据MSDN,我需要强制符合标准的模式是包含HTML 5 doctype:
http://msdn.microsoft.com/en-us/library/gg699338%28v=vs.85%29.aspx
当远程提供标记时,它可以正常工作。问题是当我使用相同的标记并从本地运行的apache服务器提供它时。 IE9默认为怪异模式,兼容性视图按钮消失。
我在本地进行了大量的开发,如果我只能在远程服务的IE中测试我的代码,它就会失败。提前谢谢。
答案 0 :(得分:32)
使用
<!DOCTYPE html>
并添加
<meta http-equiv="X-UA-Compatible" content="IE=9">
到HTML页面的<head>
部分。它将强制Internet Explorer使用IE标准模式。
答案 1 :(得分:10)
尝试添加此内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
位于页面顶部。我不确定如果你试过的另一个没有在本地工作,那么它是值得一去的。
答案 2 :(得分:4)
我有同样的问题。我在我的aspx文件上有HTML5文档类型,但它仍然以IE7模式呈现。我修改它没有设置HTML4.01严格,没有meta http-equiv。
我的问题是我有一个ASP标签,然后是另一行的doctype。 IE9希望doctype在第1行而不是其他地方。
所以如果你有这个:
<%
' some asp code
%>
<!DOCTYPE html>
<!-- rest of file -->
考虑将其更改为:
<%
' some asp code
%><!DOCTYPE html>
<!-- rest of file -->
即使在初始asp块之前使用@Import语句,这对我也有用:
<%@ Import Namespace="System.Text.RegularExpressions" %>
<%
' some asp code
%><!DOCTYPE html>
<!-- rest of file -->
答案 3 :(得分:3)
请参阅本文档中的“IE Windows special:xml prolog”部分:
http://www.quirksmode.org/css/quirksmode.html
DOCTYPE之前的任何内容都会导致它切换到Quirks模式