Html 当DOM构建步骤中存在未关闭的标记时,标记化是如何工作的?

Html 当DOM构建步骤中存在未关闭的标记时,标记化是如何工作的?,html,google-chrome,firefox,dom,safari,Html,Google Chrome,Firefox,Dom,Safari,因此,在DOM构建步骤中,当标记器从HTML文档创建标记时。它如何处理未关闭的标签 假设我有以下HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Document<

因此,在DOM构建步骤中,当标记器从HTML文档创建标记时。它如何处理未关闭的标签

假设我有以下HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Document</title>
</head>
<body>
  <h1>Hello</h1>
  <div>
  <h2>World</h2>
</body>
</html>

文件
你好
世界
标记器将如何处理

每个浏览器都有一个标准来解决这个问题吗?

是的,有一个标准。包括这个

但这取决于未关闭的元素。有时,当遇到其他标记时,元素会自动关闭。在其他情况下,元素在无序标记后关闭,然后重新打开。在其他情况下,标签可能被完全忽略

在您提供的特定情况下,当遇到start元素时,将创建div元素并将其作为body元素的子元素添加到DOM中。H2元素被创建并成为div元素的子元素。缺少的close div标记无效,close body和close html标记不会更改DOM,然后更改

close body标记将指示发生了错误,但如果检测到解析错误,浏览器通常不会执行任何操作

(请注意,缺少标记是树构造的问题,而不是标记器的问题。)