页面的加载与渲染顺序

来源:互联网 发布:创维电视调试端口用途 编辑:程序博客网 时间:2024/05/23 22:29

页面的加载与渲染顺序:

1.一个页面的加载顺序是从上到下顺序加载的,并且加载与渲染同时进行。

2.引用外部js文件时,当在加载过程中遇到<script>标签时,浏览器会向服务器发送一个reques并等待该request的返回。

       因为浏览器需要1个稳定的DOM树结构,而JS中很有可能有代码直接改变了DOM树结构,比如使用document.write 或 appendChild,甚至是直接使用的location.href进行跳转,浏览器为了防止出现JS修改DOM树,需要重新构建DOM树的情况,所以加载js就会阻塞其后内容的下载和呈现。

3.使用嵌入式js时,会阻塞所有内容的呈现

4.当在加载过程中遇到<style>标签时,浏览器会发1个request去请求CSS或image,然后继续执行下面的转换,而不需要等待request的返回,当request返回后,只需要把返回的内容放入到DOM树中对应的位置就OK,所以正常来说CSS并不会诸塞页面。

但是也有例外:

当CSS后面跟着嵌入的JS的时候,该CSS就会出现阻塞后面资源下载的情况。

原因:

因为浏览器会维持html中css和js的顺序,样式表必须在嵌入的JS执行前先加载、解析完。而嵌入的JS会阻塞后面的资源加载,所以就会出现上面CSS阻塞下载的情况。