【发布时间】:2013-04-10 06:39:01
【问题描述】:
我想知道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(即,虽然 iframe src(在示例中为 page2.html)尚未下载,但 HTML 解析器会解析 iframe 标记的后续行)。 那么问题来了,什么时候解析page2.html? 换句话说,当 div 元素 (id=y) 添加到 DOM 树时? 是在page1.html中解析代码后完成还是在page2.html完成下载后立即完成通过blockinig page1.html解析?或者,HTML解析器是否并行(同时)解析page1.html和page2.html?
任何 cmets 和链接将不胜感激。 谢谢!
(如果有错误的问题,请告诉我。实际上,我是 JavaScript 和 HTML 的新手)
【问题讨论】:
-
只是好奇,你为什么在乎?
-
假设page1.html中有一个函数访问page2.html中定义的对象。该函数可以访问未定义的东西取决于解析顺序
-
值得看文章知道答案吗?文章是为了什么?请简要介绍一下。
-
基本上,它为您提供了一种设置事件监听器的方法,而不是试图猜测首先加载的内容。
标签: javascript html parsing iframe web