将IE9置于怪异模式的HTML5文档类型?


101

我正在尝试让IE9以IE9标准加载页面...

我注意到<!DOCTYPE HTML>已将该死的东西置于怪癖模式下...这几乎破坏了页面上的所有内容...

如何使IE遵守IE9标准?


1
@EricLaw-嗯?我不遵循...
Abhishek

重现此问题的页面的URL是什么。
EricLaw 2011年

它是我正在使用的内部测试页面...但是nvm,@ David_Wick已经回答了这个问题... :-)
Abhishek

Answers:


134

放置:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<head>标签中应该这样做。


1
是的,这就是窍门...您能帮我解释一下吗?
Abhishek

8
@Abhishek:不需要在HTML5中显式关闭meta元素(从历史上看,按照较早的HTML规范关闭它实际上是无效的)。
reisio 2012年

4
@reisio-查看历史记录,您会发现他最初没有放在右括号(>)中。
Shauna 2012年

它必须是第一个还是唯一的元标记?因为它在那里,并且仍然默认为怪癖模式。
DeadlyChambers,2014年

2
我发现将这个meta标记放在<head>标记之后将是可行的,而将其放在<head>的底部则可能无法正常工作,可能是由于其他内容的干扰。
Paolo Mioni 2014年

63

确保在DOCTYPE声明之前没有任何HTML注释,否则它将触发IE9使用怪癖模式。

<!DOCTYPE html>在页面顶部没有任何内容,就足以使IE9使用标准模式。您也不需要元标记。


1
@frumbert:除非这种情况在doctype声明之前有注释,所以没有。
reisio 2012年

除了不将这些注释视为html注释之外,它们是IE(any)不会将其解释为dom的一部分的条件注释,而html注释(其中没有方括号的注释)被视为dom,因此位于空白之后。取决于大小写,ie的版本和使用的doctype。
frumbert

2
不,不,zuallauz说了评论,而您的示例中有评论(无论它们是否为标准HTML或仅由IE解释为所需,都无关紧要)。
reisio,2012年


4

删除所有不受支持的注释,检查是否有受支持的注释。并放在您的头部标签中。doc类型声明应位于HTML的第一行。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.