defer 属性规定应该等待所有HTML文档解析完成以后,再判断js脚本是否执行,请参考下述例子:
浏览器支持
所有主流浏览器都支持 defer 属性。
定义和用法
defer 属性是一个布尔属性。
defer 属性规定当页面已完成加载后,才会执行脚本。
注意:defer 属性仅适用于外部脚本(只有在使用 src 属性时)。
注意:有多种执行外部脚本的方法:
- 如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
- 如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行
- 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本
提示:如果您的脚本不会改变文档的内容,可将 defer 属性加入到 <script> 标签中,以便加快处理文档的速度。因为浏览器知道它将能够安全地读取文档的剩余部分而不用执行脚本,它将推迟对脚本的解释,直到文档已经显示给用户为止。
HTML 4.01 与 HTML5之间的差异
无。
HTML 与 XHTML 之间的差异
在 XHTML 中,禁止属性最小化,defer 属性必须定义为 <script defer="defer">。
语法
<script defer>
HTML <script> 标签