2012-02-22 61 views
2

这里是我使用的文档类型:为什么IE8说页面默认是怪癖模式?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+0

这与页面内容有关。你能发布一个链接吗? – paulmorriss 2012-02-22 16:28:55

+0

Unfortunatley我不能。 – 2012-02-22 16:52:52

+0

除非你插入一个特定于MS的元标记,否则IE8默认为怪癖模式吗? – 2012-02-22 17:09:03

回答

8

如果您有内容(可能是HTML评论)之前 DOCTYPE这会发生。 IE8中的空白区域应该没问题 - 虽然我认为即使这也会导致IE6出现问题。

(在IE6的DOCTYPE前一个XML声明会触发怪异模式 - 这是固定在IE7,但它似乎其他内容之前的DOCTYPE仍然会触发此)

+1

从IE10 RTM开始,这个问题就解决了。您可以在DOCTYPE之前放置注释。 – 2012-09-19 17:19:49

2

不是好笑,我敢肯定,你已经签这个,但是......

您是否尝试过按下F12键踏进IE开发者控制台。有没有强化也许是“文档模式”或“浏览器模式”设置为“怪癖模式”

请原谅我,如果不是这种情况......我只是在这之前,

+0

这是问题所在。它被“页面默认”设置为“怪癖模式”。这不是我想要的。它应该是IE8标准 – 2012-02-22 16:52:15

+0

@Mark W - 所以你有没有尝试改变下拉以IE7/IE8模式渲染,而不是怪癖......? – BizNuge 2012-02-23 08:52:47

+0

你误解了这个问题。我希望页面默认为IE8标准,但在检查开发人员栏时,它会在该下拉列表中指出“页面默认值”为怪癖模式。对于我来说,在下拉菜单中更改它会很简单,但对于那些每天使用IE8访问网站的成千上万的用户来说并非如此。 – 2012-02-24 09:46:23

1

这听起来像你正在处理带有内联网页面,其中IE8 and IE9 treat differently。如果您的页面被认为是在Intranet区域中,那么IE8将默认为兼容模式,可能会将您的页面抬高一点。

您可以通过使用X-UA-Compatible meta元素来解决此问题,但我没有自己测试过。

+1

WOW。 I.E.的诋毁真是无边无际。 – masonk 2012-03-19 23:13:34

1

该页面在谷歌排名“为什么网页触发IE8怪癖模式”,所以我会后我的2个发现高(通过不好受故障排除经验):如果您使用PHP

1)页将通过靶向怪癖模式一般来说,但是在那个特定的页面上说,你在<html>部分中根本没有任何php代码,但是为了兼容性,你希望在开头处写空的<?php ?>标签。现在,比方说,你想“最小化”的代码,并删除之间的所有空的空间,让你写:

<?php?> 

这将触发IE8 Quirks模式,因为<!DOCTYPE html>之前,现在你将有一个额外的行这样的事情在IE8:

<!-- --> 

,并在Chrome 34.x:

<!--?php?--> 

常见的,但致命的错误。只要把

<?php ?> 

(与空间)是安全的。

2)第二个原因确实很难发现。如果您使用UTF-8处理文档并使用Notepad ++进行编辑,则最有可能将您的字符编码设置为纯UTF-8(Notepad ++>编码> UTF-8编码),偶然您可能会触发IE8怪异模式!

现在,解决方案非常简单:使用Notepad ++只需选择Encoding>使用UTF-8转换(无BOM)。

怪癖模式再次消失!

花了我一段时间来抓住所有这些,努力寻找CSS中的错误,那根本不是CSS相关的!

相关问题