浏览器解析HTML,渲染页面的过程

经过HTTP请求之后,浏览器收到了HTML文档

        1.浏览器解析HTML文件

浏览器从上到下,逐行解析HTML标签  ,解析结束HTML文档之后会形成DOM树              

        解析HTML文档过程:

                首先,浏览器得到的是显示字节内容的html文件

                浏览器将字节内容转换为字符文件

                将字符转换为token(符号标签)

                将token转变为节点对象,然后将节点对象连接起来形成DOM树

(2).在HTML文档解析的过程中,会遇到link标签外链的css文件这时候会请求并解析css文件,但并不会阻塞第一步解析HTML文件

        解析css过程:

                前几个步骤与HTML文档解析相似:字节文件>字符文件>token>节点对象

                最后一步会将节点对象结合为CSSOM树

(3).在HTML解析时,遇到link标签外链的js文件或者script内的js代码时

        解析JS文件的过程:

                1)浏览器会请求js代码,并返回,这时候HTML文件的解析会停下来,

                2)但是CSS文件的解析不会停止,所以会构造出CSSOM树,

                3)在构建CSSOM树的时候,返回的js文件并不会执行,在CSSOM树构建完成,才会运行JS文件。

        4)JS文件执行结束后,HTML继续解析并构建出DOM树,进行下一步。

(4)前两步结束之后,DOM树和CSSOM树会结合生成渲染树render树。

        注意点:DOM树会将所有节点都组成树结构,而render树会将所有显示的阶段组成树结构。

(5)布局:获取渲染树结构、节点位置和大小

(6)绘制,根据render树和布局绘制页面

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值