<h4> 一般情况下,浏览器遇到外部script标签,会去下载脚本,而停止对页面的解析。
下载脚本完成后,执行后,才会继续解析页面。
在下载过程中浏览器是被阻止做其他有用的工作,包括解析HTML,执行其他脚本,以及展示CSS布局。这就是阻塞。</h4>
<p>1.async和defer可避免阻塞,下载他们的过程中,浏览器还能做其他事(加载文件时不阻塞页面渲染);
对于inline的script无效;使用这两个属性的脚本中不能调用document.write方法
2.async脚本在文件下载完成后会立即执行,并且其执行时间一定在window的load事件触发之前,async脚本很可能不会按其在页面中的出现次序顺序执行
3.defer脚本不会在下载(加载)后直接执行,而是在文档解析完成后才执行,而且按顺序执行,在document的DOMContentLoaded事件触发之前执行
script属性async和defer区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 没有 defer 或 async,浏览器会立即加载并执行指定的脚本,“立即”指的是在渲染该 script 标签之下...
- 本文总结一下浏览器在 javascript 的加载方式。关键词:异步加载(async loading),延迟加载(...