html5不如xml严格,因此w3c html5 validator验证了这个糟糕的文件:
<!doctype html>
<title>crappy html5</title>
<div class=dummy>
<h1>crappy html5</h1>
<p class=noclosetag>HTML5 is awesome
<ol class=navigator>
<li><a href=/>index</a>
<li><a href=/user>user</a>
<li><a href=/rss>rss</a>
</ol>
</div>
如果该规则是允许的,那么一些懒惰的程序员可能会通过编写糟糕的文件来节省一些工作;但是,我想知道这是否会引起明显的性能问题,因为浏览器需要纠正糟糕的页面上的错误;我尚未进行测试,部分原因是我不知道对这些事情进行公正而彻底的测试;
答案 0 :(得分:2)
不。 HTML解析器确实不在乎HTML的糟糕程度,并且“更正错误”不是它的工作原理。它只处理看到的每个字节并相应地构造DOM。
尽管解析器可以报告控制台中的解析错误,但您的示例无论如何都不会包含任何解析错误。无论哪种方式,对性能的影响都是零。
如果您想研究解析器的工作原理,请参见section 8 of the HTML5 spec