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

 

2.1.3 异步脚本

HTML5为<script>元素定义了 async 属性。用于改变处理脚本的行为。

与 defer 类似,async 只适用于外部脚本文件,并告诉浏览器立即下载文件。

与 defer 不同的是,标记为 async 的脚本并不保证按照指定他们的先后顺序执行。(即不保证执行顺序)。例如:

<!DOCTYPE html>
<html>
    <head>
        <title>Example HTML Page</title>
        <script type="text/javascript" async src="example1.js"></script>
        <script type="text/javascript" async src="example2.js"></script>
    </head>
    <body>
        <!-- 这里放内容 -->
    </body>
</html>

在上面的代码中,第二个脚本文件可能会在第一个脚本文件之前执行。

因此,确保两者之间互不依赖非常重要。

指定 async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。

异步脚本一定会在页面的 load 事前前执行,但可能会在 DOMContentLoaded 事件触发之前或之后执行。支持异步脚本的浏览器有:Firefox 3.6、Safari 5 和 Chrome。

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

 

posted @ 2018-05-25 08:48  星月相随  阅读(200)  评论(0编辑  收藏  举报