HTML <script> 标签的 defer 属性

HTML <script> 标签

实例

在页面加载之前不会运行脚本:

  1. <script src="demo_defer.js" defer></script>

定义和用法

defer 属性是布尔属性。如果已设置,它规定在页面完成解析时执行脚本。

注释defer 属性仅适用于外部脚本(仅应在 src 属性存在时使用)。

注释:有几种可以执行外部脚本的方法:

  • 如果设置 async:脚本与页面的其余部分异步执行(脚本将在页面继续解析时执行)
  • 如果不设置 async 且社会 defer:当页面完成解析时执行脚本
  • 如果 async 或 defer 都不存在:在浏览器继续解析页面之前立即获取并执行脚本

详细说明

defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。

有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本就不一定是了。

如果您的脚本不会改变文档的内容,可将 defer 属性加入到 <script> 标签中,以便加快处理文档的速度。因为浏览器知道它将能够安全地读取文档的剩余部分而不用执行脚本,它将推迟对脚本的解释,直到文档已经显示给用户为止。

浏览器支持

表格中的数字注明了完全支持该属性的首个浏览器版本。

属性 Chrome Internet Explorer / Edge Firefox Safari Opera
defer 8.0 10.0 3.5 5.0 15.0

语法

  1. <script defer>