runoops.com

HTML script async 属性

HTML script 标签

一旦脚本加载完成,则会立即执行:

<script src="demo_async.js" async></script>

浏览器支持

Internet Explorer 10、Firefox、Opera、Chrome 和 Safari 支持 async 属性。

注意:Internet Explorer 9 及之前的版本不支持 <script> 标签的 async 属性。


定义和用法

async 属性是一个布尔属性。

async 属性可以用于控制脚本的异步加载,并在加载完成后立即执行(异步加载,同步执行)。

当 <script> 标签设置了 async 属性时,浏览器会异步地加载脚本文件,并且在下载完成后立即执行脚本,而不会等待页面的渲染。这样可以避免脚本的下载和执行对页面渲染的阻塞,从而提高页面的加载速度。

注意:由于 async 属性的设置会使得脚本的执行顺序不再保证,因此在编写代码时需要注意脚本之间的依赖关系。如果多个脚本之间有依赖关系,需要使用 defer 属性或者手动管理加载顺序来确保脚本的正确执行顺序。

注意:async 属性仅适用于外部脚本(只有在使用 src 属性时)。

注意:有多种执行外部脚本的方法:

  • 如果 async="async":脚本相对于页面的其余部分异步地执行的(当页面继续进行解析时,脚本将被执行)
  • 如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行
  • 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本

HTML 4.01 与 HTML5之间的差异

async 属性是 HTML5 中的新属性。


HTML 与 XHTML 之间的差异

在 XHTML 中,禁止属性最小化,async 属性必须定义为 <script async="async">。


语法

<script async>

HTML script 标签