首页 > Web开发 > 详细

HTML解析过程

时间:2019-12-24 22:56:41      阅读:94      评论:0      收藏:0      [点我收藏+]

1. 创建Document对象,开始解析web页面,解析HTML元素和字符数据,添加Element节点和text节点到Document中,此时,document.readyState = loading

 

2.遇到 link 外部 CSS,创建线程加载,并继续解析文档

 

3.遇到 script 外部Js:

1)未设置 asyncdefer

浏览器加载Js,并堵塞,等待Js加载完成后执行脚本,然后继续解析文档

2)设置 async

异步加载脚本,脚本加载完立即执行脚本

3)设置defer

异步加载脚本,等待文档解析完执行脚本

 

4.遇到 img 等,首先解析dom结构,然后浏览器异步加载src,并继续解析文档

 

5.文档解析完成,此时document.readyState = ‘interactive’

 

6.设置有defer的脚本执行

 

7.documen对象触发DOMContentLoaded事件,标志着程序执行由同步脚本执行阶段,转化为事件驱动阶段

 

8.文档和所有子资源已完成加载,document.readyState = ‘complete’ ,window触发load事件

 

9.此后,以异步响应方式处理用户输入、网络事件等

HTML解析过程

原文:https://www.cnblogs.com/chuangqianmingyueguang/p/12093754.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!