关于浏览器加载顺序

浏览器执行渲染的顺序是自上而下的
遇到link script等会暂停解析,将控制权交给JavaScript 解析,执行完毕之后再交给浏览器渲染引擎,所以script写到body标签内靠后比较好,因为JavaScript 会操作html元素, 如果在body加载完之前写JavaScript 会造成JavaScript 找不到页面元素

一个html文件是这样渲染的
1、加载html
2、解析器解析html
3、创建dom树 加载css (加载完之后才能向下执行)
4、解析css 将css作用于dom节点上(结合渲染到界面上)
5、有个img引用了一张图片 怎么办,向服务器发起请求,不用等,我们继续向下执行
6、服务器返回图片时候,浏览器界面img下面已经渲染了一些内容了,这时候会影响后面段落的排布,浏览器就需要重新渲染这部分代码
7、此时才会出现界面
所以 css加载过慢会阻塞页面的渲染,就是我们所说的白屏现象

如果自上而下遇到js文件,浏览器会启用单独连接进行下载
如果js操作了已经渲染完成的元素,那么浏览器不得不重新渲染这段代码

你可能感兴趣的:(关于浏览器加载顺序)