我想知道HTML解析器的解析顺序。
给定两个 html 文件:
page1.html
<html>
<body>
<iframe id="x" src="page2.html"></iframe>
<div id="z"></div>
<--! something that need to be parsed -->
</body>
</html>
page2.html
<html>
<body>
<div id="y">
<body>
</html>
我知道 iframe 标签并行下载 src(即 HTML 解析器解析 iframe 标签的后续行,尽管 iframe src(在示例中为 page2.html)尚未下载)。 那么,问题是,page2.html 何时被解析? 换句话说,div元素(id=y)何时被添加到DOM树中? 是解析page1.html中的代码后完成的,还是通过blockinig page1.html解析完全下载page2.html后立即完成的?或者,HTML 解析器是否并行(同时)解析 page1.html 和 page2.html?
任何评论和链接将不胜感激。 谢谢!
(如果有错误的问题,请告诉我。实际上,我对 JavaScript 和 HTML 都很陌生)
最佳答案
确切的时间取决于浏览器。在 page2
准备好之前,应先下载并准备好 page1
。但是,在开始下载和解析 page2
之前,page1
尚未准备好。
关于javascript - html的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061085/