为什么<! - ?xml version =“1.0”encoding =“UTF-8”? - >不应该放在最顶端?

时间:2010-12-06 06:06:45

标签: html xml xhtml utf-8

请通过在HTML页面的顶部放置以下声明来解释我有什么问题(如果有的话)

<?xml version="1.0" encoding="UTF-8"?>

3 个答案:

答案 0 :(得分:5)

它不好,因为它会导致IE6进入怪癖模式。

http://www.456bereastreet.com/archive/200904/using_an_xml_declaration_triggers_quirks_mode_in_ie_6/

如果你曾经在怪癖模式下使用过IE6,你就会知道这是多么痛苦的经历。

答案 1 :(得分:1)

如果使用,放在顶部。事实上,如果需要,它几乎必须放在​​顶部,以便正确读取文档的其余部分。

如果您的文档是UTF-8或UTF-16,则不需要。但如果不是这样,你应该使用它。我的意见是你应该使用它。

不使用它的唯一原因是IE6用户,因为如果您有声明,IE6将进入'怪癖模式'。

但老实说...... IE6 已经一种奇怪的模式了。

为了旧的解析器的利益,不要把其他更现代的解析器弄乱。

答案 2 :(得分:0)

你可以把它放在最顶端,但你应该知道后果。

  • 某些(较旧的)浏览器会尝试下载您的网页而不是显示它
  • 在某些浏览器中,如果您的XHTML代码有错误,它将不会尝试显示它&#34;尽力而为&#34;就像在HTML中一样。相反,你会得到一个神秘的XML错误。

另外,如果您使用的是XML / XHTML,请确保您也发送了正确的内容类型标题(例如application / xml而不是text / html)。