在localhost上开发时,如何让IE9使用符合标准的模式?

时间:2011-05-18 18:27:43

标签: internet-explorer internet-explorer-9 quirks-mode

根据MSDN,我需要强制符合标准的模式是包含HTML 5 doctype:

http://msdn.microsoft.com/en-us/library/gg699338%28v=vs.85%29.aspx

当远程提供标记时,它可以正常工作。问题是当我使用相同的标记并从本地运行的apache服务器提供它时。 IE9默认为怪异模式,兼容性视图按钮消失。

我在本地进行了大量的开发,如果我只能在远程服务的IE中测试我的代码,它就会失败。提前谢谢。

4 个答案:

答案 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模式