JavaScript入门教程

JavaScript简介
JavaScript语法基础
JavaScript流程控制
JavaScript函数
面向对象编程
JavaScript事件
JavaScript DOM
正则表达式
JavaScript BOM
AJAX

专题分析

浏览器兼容性
JS优化
Web前端开发规范
编辑器推荐
总结和笔记

学习助手

对象参考手册
ECMAScript分析
数据中心
QQ交流群

JS defer属性:脚本延迟

HTML 4.01 为<scrìpt>标签定义了 defer 属性。这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。因此,在<script>元素中设置 defer 属性(如下面的例子所示),实际上与上一节中介绍的把<script>元素放在页面最底部的效果是一样的。
<html>
    <head>
        <title>Example HTML Page</title>
        <script type="text/javascript" defer="defer" src="examplel.js"></script>
        <script type="text/javascript" defer="defer" src="example2.js"></script>
    </head>
    <body>
        <!-- 这里放置内容 -->
    </body>
</html>
在这个例子中,显然我们把<script>元素放在了文档的<head>元素中,但其中包含的脚本将延迟到浏览器遇到</html>标签后再执行。

不过,问题是并非所有浏览器都支持defer属性,IE 和 Firefox 3.1 是目前唯一支持defer属性的主流浏览器,其他浏览器则会忽略这个属性,不延迟脚本的执行。