1

在过去的半个小时里,我一直在阅读这方面的内容,这就是我的理解:

如果存在有效的 DTD,IE 6 将以标准模式呈现页面,但如果 DTD 上方有任何注释,则不会。

XML 声明是位于 DTD 之上的注释。

如果 XML 声明包含在条件注释中,则页面将在 IE 6 中以 quirks 模式呈现,但 XHTML 无效。

是否有任何变通方法可以使用 XML 声明获取有效的 XHTML,以便在 IE6 中以标准模式呈现?如果不是,那么完全删除 XML 声明的缺点是什么?

谢谢。

4

3 回答 3

2

没有变通办法。从技术上讲,您可以使用浏览器嗅探,但这通常不受欢迎。

在 IE 6 中,您不能真正将 xhtml1.1 与 xml 一起使用,因为内容类型要求它呈现为 xml。即 Content-Type: application/xhtml+xml 在 IE 中死掉了。

您应该只使用带有 doctype 的 xhtml 1.0,并将内容类型作为 text/html 发送。

于 2010-03-22T17:46:01.657 回答
1

取出 XML 声明,它不是绝对必要的,并且会导致 IE6 以怪癖模式呈现。您应该使用 XHTML 1.0,它允许将文档呈现为 text/html 以向后兼容 HTML 4.01。

于 2011-03-28T00:51:38.860 回答
0

在标准模式下使用 XML 声明的唯一方法是使用XSLT 样式表对其进行转换

于 2012-08-07T17:20:34.213 回答