src和href的区别?
link标签加载顺序?
script标签加载顺序?
defer和async?
想弄懂以上问题,先来了解一下DOM树渲染原理
DOM文档的加载顺序是由上而下的顺序加载;
1、DOM加载到link标签(css)
css文件的加载是与DOM的加载并行的,也就是说,css在加载时Dom还在继续加载构建,而过程中遇到的css样式或者img,则会向服务器发送一个请求,待资源返回后,将其添加到dom中的相对应位置中;
浏览器一边下载HTML网页,一边开始解析;
解析过程中,发现link 标签
浏览器继续往下解析HTML网页,同时并行下载link标签中的css样式
2、DOM加载到script标签(js)
(1)正常非处理网页
由于js文件不会与DOM并行加载,因此需要等待js整个文件加载完之后才能继续DOM的加载,倘若js脚本文件过大,则可能导致浏览器页面显示滞后,出现“假死”状态,这种效应称之为“阻塞效应”;会导致出现非常不好的用户体验;
正常的网页加载流程是这样的。
浏览器一边下载HTML网页,一边开始解析
解析过程中,发现script标签

本文详细解析了浏览器渲染引擎在处理DOM树渲染时的行为,包括src和href的区别、link和script标签的加载顺序,以及defer和async属性对脚本加载的影响。理解这些机制有助于优化页面加载性能,减少JavaScript对页面渲染的阻塞。建议将脚本放在页面底部,并根据需要使用defer或async属性。
最低0.47元/天 解锁文章
646

被折叠的 条评论
为什么被折叠?



