Script标签的 defer 和 async 属性

defer和async是script标签的两个属性,用于在不阻塞页面文档解析的前提下,控制脚本的下载和执行。都只适用于外联样式,不适用于内联样式浏览器

defer

  1. 用于开启新的线程下载脚本文件,并使脚本在文档解析完成后DOMContentLoaded方法以前执行。
  2. 若是有多个声明了defer的脚本,则会按顺序下载和执行
  3. defer脚本会在DOMContentLoaded和load事件以前执行

async

  1. HTML5新增属性,用于异步下载脚本文件,下载完毕当即解释执行代码。
  2. 若是有多个声明了async的脚本,其下载和执行也是异步的,不能确保彼此的前后顺序
  3. async会在load事件以前执行,但并不能确保与DOMContentLoaded的执行前后顺序

*:内联的script标签在浏览器加载时就会执行其中的内容 异步

相关文章
相关标签/搜索