script 标签中的 defer async

描述

普通script标签会阻塞dom解析,致浏览器必须加载并且执行脚本,之后才能继续解析,一些耗时操作会让页面出现白屏,而defer属性和async属性能够消除解析阻塞,并行请求脚本。

差异

  • 存在async属性的脚本会并行请求,并尽快解析和执行,不保证顺序;
  • 存在defer属性的脚本会阻塞DOMContentLoaded事件,并行请求,在DOMContentLoaded事件之前调用,保证顺序;
  • 对于内嵌脚本(即无src属性),二者都失效。
posted @ 2022-03-31 23:59  梦渊同学  阅读(69)  评论(0)    收藏  举报