Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
一、加载资源的形式
- 输入url(或跳转页面)加载html
- 加载html中的静态资源
二、加载资源的过程
加载资源的过程,即从输入url到得到html的详细过程,详细过程如下:
- 浏览器根据DNS服务器得到域名的IP地址
- 向这个IP的机器发送http请求
- 服务器收到、处理并返回http请求
- 浏览器返回得到内容
三、浏览器渲染的过程
- 根据html结构生成DOM树
- 根据css生成CSSOM树
- 将DOM和CSSOM整合形成RenderTree
- 根据RenderTree开始渲染和展示
- 遇到
<script>时,会执行并阻塞渲染
在构建DOM树的过程中,如果遇到了JS,会先加载JS文件,阻塞DOM树以及CSSOM树的构建,JS加载完毕再继续构建,DOM树的构建过程如下:
- 读取html文档
- 将字节转换为字符
- 确定标签
- 将标签转换为节点
- 根据节点构建DOM树
CSSOM树构建过程与DOM树构建流程一致,在将标签转换为节点时,每个节点先会继承父节点的样式,层叠覆盖,再以向下联级的规则应用更具体的样式,递归生成SCCOM树
四、window.onload和DOMContentLoaded
window.onload是会等页面的全部资源(包括图、视频等)加载完才会执行DOMContentLoaded是渲染完即可执行,此时图片、视频可能还没有加载完