script标签async和defer有何具体区别及适用环境?

2026-05-18 07:055阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1909个文字,预计阅读时间需要8分钟。

script标签async和defer有何具体区别及适用环境?

`script` 标签用于加载和执行脚本,在前端开发中非常关键。通过直接使用 `script` 标签,HTML 文档会按照顺序加载并执行脚本。在脚本加载和执行过程中,后续的页面内容会被阻塞加载。

script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了。
直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染。

现在大家习惯于在页面中引用各种的第三方脚本,如果第三方服务商出现了一些小问题,比如延迟之类的,就会使得页面白屏。
好在script提供了两种方式来解决上述问题,asyncdefer,这两个属性使得script都不会阻塞DOM的渲染。
但既然会存在两个属性,那么就说明,这两个属性之间肯定是有差异的。

defer

如果script标签设置了该属性,则浏览器会异步的下载该文件并且不会影响到后续DOM的渲染;
如果有多个设置了deferscript标签存在,则会按照顺序执行所有的script
defer脚本会在文档渲染完毕后,DOMContentLoaded事件调用前执行。

阅读全文

本文共计1909个文字,预计阅读时间需要8分钟。

script标签async和defer有何具体区别及适用环境?

`script` 标签用于加载和执行脚本,在前端开发中非常关键。通过直接使用 `script` 标签,HTML 文档会按照顺序加载并执行脚本。在脚本加载和执行过程中,后续的页面内容会被阻塞加载。

script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了。
直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染。

现在大家习惯于在页面中引用各种的第三方脚本,如果第三方服务商出现了一些小问题,比如延迟之类的,就会使得页面白屏。
好在script提供了两种方式来解决上述问题,asyncdefer,这两个属性使得script都不会阻塞DOM的渲染。
但既然会存在两个属性,那么就说明,这两个属性之间肯定是有差异的。

defer

如果script标签设置了该属性,则浏览器会异步的下载该文件并且不会影响到后续DOM的渲染;
如果有多个设置了deferscript标签存在,则会按照顺序执行所有的script
defer脚本会在文档渲染完毕后,DOMContentLoaded事件调用前执行。

阅读全文