script 标签中的 defer async
描述
普通script标签会阻塞dom解析,致浏览器必须加载并且执行脚本,之后才能继续解析,一些耗时操作会让页面出现白屏,而defer属性和async属性能够消除解析阻塞,并行请求脚本。
差异
- 存在
async属性的脚本会并行请求,并尽快解析和执行,不保证顺序; - 存在
defer属性的脚本会阻塞DOMContentLoaded事件,并行请求,在DOMContentLoaded事件之前调用,保证顺序; - 对于内嵌脚本(即无
src属性),二者都失效。

浙公网安备 33010602011771号