当我在w3.org上读到时,我以为我得到了问题的答案:
包含字符编码声明的元素必须在文档的前512个字节内完全序列化。
然后在通过html5boilerplate docs [http://cl.ly/K7Vt]链接到whatwg.org并阅读本文之后,我不确定哪个是正确的:
包含字符编码声明的元素必须在文档的前1024个字节内完全序列化。
哪个是对的?
答案 0 :(得分:2)
引用的第一个文档是一个非规范的W3C文档,旨在以可理解的方式将HTML5描述为标记语言。第二个是WHATWG文件,声称是一个“生活标准”(矛盾),但主要是符合W3C HTML5文件,这是一个工作草案,这意味着它远不是官方的(不一定认可甚至认可)所有工作组成员),但意在导致创建“标准”(W3C推荐标准)。在这种情况下,后者says与WHATWG文档相同。
在我看来,在W3C草案中,05 April 2011 draft中的数字从512增加到1024。在这方面,非规范性文件可能尚未更新。
所以,即使在松散的W3C意义上也没有标准,所以没有正确性的确定标准。但显然1024应该是下限。它应该被理解为对作者的建议;浏览器实际上可能采用更自由的策略。
实际上,指定编码的meta
标记应出现在head
部分的任何其他元素之前。即使您使用带有<html>
和<head>
标记的详细标记,即使是512个字符的限制也不会接近。如果您在HTML文档的开头有大量注释,只需删除它们;有更好的文档来源。