浏览器了解(五)资源加载顺序

2023-06-02,,

资源加载顺序

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}

在加载web资源时,首先下载html文件,进行html解析,在遇到javascriptcss标签时,启动相应的解析机处理。

当遇到外部资源时(如<script src='xxx'>)启动网络接口程序,下载对应的资源并交由相应的解析机处理。

在执行javascript的解析的时候,为了保证javascript操作DOM的准确性,此时DOMTree的构建工作必须被中断掉(当然对于HTML资源序列化和输入DOM构建机动作可以同步进行,浏览器此时也可以加载外部资源、排版、显示等),直到javascript的解析动作完成,之后可以继续HTML的解析和DOMTree的构建。

我们知道CSS不会影响到DOMTree的构建,但是如果此时javascript需要取得某些样式信息,必然需要CSS已经被解析,为了防止javascriptCSS出现未定义的问题,通常在执行CSS解析的时候,javascript的执行会被阻塞。对于webkit而言,webkit本身对此进行了优化,即在javascript可能会用到某些样式而此时样式尚未解析完毕时阻塞javascript解析。

《浏览器了解(五)资源加载顺序.doc》

下载本文的Word格式文档,以方便收藏与打印。