defer 是 <script> 元素的属性之一,用于告诉浏览器推迟(defer)脚本的执行,直到文档完全被解析。使用 defer 属性的脚本会按照它们在文档中的顺序执行,并且在 DOMContentLoaded 事件触发之前完成。

以下是一个使用 defer 属性的示例:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Deferred Script Example</title>
  <!-- 推迟执行的脚本 -->
  <script defer src="example.js"></script>
</head>
<body>

  <h2>Deferred Script Example</h2>

  <p>This is a paragraph.</p>

</body>
</html>

在上述示例中,<script defer src="example.js"></script> 表示加载 example.js 文件时将以推迟方式执行。这意味着脚本将在文档解析完成后执行,而不会阻止页面的解析和渲染。

相比之下,async 属性也可以使脚本异步加载,但它不保证脚本的执行顺序,并且脚本加载完成后会立即执行。而 defer 属性则保留了脚本的执行顺序,并推迟执行到文档解析完成之后。这使得 defer 更适合那些依赖于文档结构的脚本。


转载请注明出处:http://www.zyzy.cn/article/detail/3960/HTML