[TOC]
我的回答
html -> link中的css -> 加载js
js加载看js的标签, defer和async, 都没有就是串行加载
defer是异步下载, 但是等页面加载完成再加载
async是异步下载, 并且是异步加载
参考回答
页面加载过程
- 浏览器根据DNS服务器得到域名的IP地址
- 向这个IP的机器发送HTTP请求
- 服务器收到、处理并返回HTTP请求
-
页面渲染流程
解析HTML文件,构建DOM树,同时浏览器主进程负责下载css文件
- css文件下载完成,解析css文件成树形的数据结构style sheet,然后结合DOM树合并成RenderObject树
- 布局RenderObject树(Layout/reflow), 负责RenderObject树中的元素的尺寸,位置等计算
- 绘制RenderObject树(paint),绘制页面的像素信息
- 浏览器主进程将默认的图层和复合图层交给GPU进程,GPU进程再将各个图层合成,最后显示出页面
处理脚本和样式表的顺序
脚本
网络的模型是同步的。网页作者希望解析器遇到