HTML <script> defer 属性

定義と使用方法

defer 属性はボルン属性です。

設定されている場合: defer 属性が設定されている場合、スクリプトはページの解析と並行してダウンロードされ、ページの解析が完了した後に実行されます。

注意:defer 属性は外部スクリプトにのみ適用されます(存在する場合に限ります)。 src 属性 この場合にのみ使用してください)。

注意:外部スクリプトを実行するには、さまざまな方法があります:

  • async が設定されている場合:スクリプトはページの解析と並行してダウンロードされ、利用可能になったときにすぐに実行されます(解析が完了する前に)。
  • defer が設定されて async が設定されていない場合:スクリプトはページの解析と並行してダウンロードされ、ページの解析が完了した後に実行されます。
  • async または defer が設定されていない場合:スクリプトはすぐにダウンロードされ実行され、ページの解析をブロックし、スクリプトの実行完了まで待ちます。

实例

脚本将与页面解析并行下载,并在页面完成解析后执行:

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

亲自试一试

语法

<script defer>

推迟脚本的执行

您可以用 async 和 defer 属性对脚本的执行方式加以控制。defer 属性告诉浏览器要等页面载入和解析完毕之后才能执行脚本。

浏览器在遇到带有 defer 属性的 script 元素时,会将脚本的加载和执行推迟到 HTML 文档中的所有元素都已得到解析之后。

这与将 script 移到页面末尾的结果是一样的:

<body>
... ...
... ...
... ...
<script src="demo.js"></script>
</body>

浏览器支持

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

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
8.0 10.0 3.5 5.0 15.0