(原)JavaScript高级程序设计(第3版)--学习笔记--02: 在HTML中使用JavaScritp--0004--延迟脚本

2.1.2 延迟脚本
HTML 4.01为<script>标签定义了defer属性。这个属于用途:表明脚本在执行时不会影响页面的构造。
即,脚本会被延迟到整个页面都解析完毕后再运行。
因此,在<script>元素中设置 defer 属性,相当于告诉浏览器立即下载,但延迟执行。
    <!DECTYPE html>
 <html>
     <head>
      <title>Example HTML Page</title>
   <script type="text/javascript" defer="defer" src="example1.js"></script>
   <script type="text/javascript" defer="defer" src="example2.js"></script>
  </head>
  <body>
      <!-- 这里放内容 -->
  </body>
 </html>
在这个例子中,虽然我们把<script>元素放在了文档的<head>元素中,但其中包含的脚本将延迟到浏览器遇到</html>标签后再执行。
HTML5 规范要求脚本按照他们出现的先后顺序执行,因此第一个延迟脚本会先于第二个延迟脚本执行,而这两个脚本会先于 DOMContentLoaded 事件执行。
在现实中,延迟脚本不一定按照顺序执行,也不一定会在 DOMContentLoaded 事件触发前执行,因此最好只包含一个延迟脚本。

defer 属性只适用于 外部脚本文件。

    注:在XHTML文档中,要把 defer 属性设置为 defer="defer"。

原文地址:https://www.cnblogs.com/wodehao0808/p/9098850.html