【问题标题】:Internet Explorer 8 DOCTYPE ignored/commentedInternet Explorer 8 DOCTYPE 被忽略/注释
【发布时间】:2013-06-13 12:28:29
【问题描述】:

我正在尝试让我的 Web 应用程序在 IE8 中运行。部分元素的偏移和放置存在一些问题。

该应用程序在 Chrome、Safari、Firefox 和 IE9/10 中运行良好,但是当我为 IE8 设置“文档模式”时,如果我将“文档模式”放回 IE9,则 <!DOCTYPE html> 的评论类似于 <!-- DOCTYPE html -->没关系。

我尝试过使用其他声明

<!DOCTYPE>

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

但我在 IE8 中得到相同的结果注释字符串。

如何让 IE8 接受 doctype?

更新:

我认为你是对的 Jukka K. Korpela,我现在注意到,即使我打开 google.com,它也已经在 IE8 中注释了 doctype。

我在 IE9 中的应用:

我在 IE8 中的应用:

IE8 中的偏移量为 -250。

【问题讨论】:

  • 您是否在&lt;!doctype html&gt; 之后添加了&lt;html&gt; 开始标签?尝试交叉引用HTML5 Boilerplate
  • 是的,在 doctype 之后有 &lt;html&gt; 标签,结果相同。我会尝试使用样板。
  • HTML5 Boilerplate 也无济于事。
  • 嗯...文档类型是您文档中的第一件事吗?如果你之前有任何东西,它会进入怪癖模式。
  • 请说明观察到的问题是什么,以及为什么您认为它们取决于被忽略的 doctype。在 IE 10 上,当您将“文档模式”设置为 IE 8 时,文档类型显示为注释掉是正常的。这只是 IE 开发者工具中的一个奇怪现象。

标签: html css internet-explorer internet-explorer-8


【解决方案1】:

&lt;!DOCTYPE html&gt; 应该可以让 IE 进入标准模式。

它不起作用的最常见原因是您前面还有其他内容。文档类型必须是页面中非常的第一件事——即使其上方的空白也可能使其无效。

另外,如果你的文件是用 UTF-8 编码保存的,请确保它是“UTF-8 without BOM”,因为文件开头不可见的 BOM(字节顺序标记)也可以起到同样的效果.

希望对您有所帮助。

【讨论】:

  • 我认为没有任何证据表明 HTML 文件中的 BOM 会导致当前使用的浏览器出现任何问题。有很多谣言,它们可能会造成一些危害,因为 BOM 实际上有助于确保文档将被视为 UTF-8 编码。
  • @JukkaK.Korpela:我现在无法测试它,因为我手头没有 IE8(而且 IE9/10 根本没有空白问题)。我可以说我自己遇到了 BOM 的这个问题,并通过在没有 BOM 的情况下重新保存来解决它,所以我知道这是一个问题。我不能告诉你更多关于情况的信息,因为那是一段时间以前的事了,但我确实看到了它的发生。我不同意 BOM 的用处:我认为它是编码问题的原因,而不是解决方案;任何时候你看到字符 都是流氓BOM,it crops up a lot
猜你喜欢
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 2013-01-31
  • 2014-02-22
  • 2012-05-19
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
相关资源
最近更新 更多