1

当我在w3.org上读到:

包含字符编码声明的元素必须在文档的前 512 个字节内完全序列化。

然后通过 html5boilerplate 文档 [http://cl.ly/K7Vt] 链接到whatwg.org并阅读此内容后,我不确定哪个是正确的:

包含字符编码声明的元素必须在文档的前 1024 个字节内完全序列化。

哪个是对的?

4

1 回答 1

2

引用的第一个文档是一份非规范的 W3C 文档,旨在以一种可以理解的方式将 HTML5 描述为一种标记语言。第二个是 WHATWG 文档,声称是“生活标准”(矛盾修饰语),但主要符合 W3C HTML5 文档,这是一个工作草案,这意味着它远非官方(甚至不一定被认可)所有工作组成员),但旨在导致创建“标准”(W3C 建议)。在这种情况下,后者的说法与 WHATWG 文件相同。

在我看来,在 W3C 草案中,这个数字在2011 年 4 月 5 日的草案中从 512 提高到了 1024 。非规范性文件大概只是在这方面没有更新。

因此,即使在松散的 W3C 意义上,也没有标准,因此没有确定的正确性标准。但显然 1024 应该是下限。它应该被理解为对作者的建议;浏览器实际上可能会采用更自由的策略。

实际上,meta指定编码的标签应该出现在部件的任何其他元素之前head。即使您使用带有<html><head>标签的详细标记,您也远不及 512 个字符的限制。如果您在 HTML 文档的开头有大量注释,只需删除它们;有更好的文档位置。

于 2012-10-12T20:09:10.643 回答