1.1 <script>元素
这个元素是由网景公司创造出来的,并最早在 Netscape Navigator2中实现的。后来,这个元素被正式加入到 HTML 规范。
<script>元素有八大属性:
* async* : 可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本。只对部脚本文件有效。
*charset*: 可选。使用 src 属性指定的代码字符集。这个属性甚少使用,因为大多数浏览器不在乎它的值。
*crossorigin*: 可选。配置相关的请求的 CORS( 跨资源共享 )设置。默认不使用 COORS.
*defer*: 可选。表示在文档解析和显示完成后再执行脚本是没有问题的。只对外部脚本有效。在IE7 及更早的版本中,对行内脚本也可以指定这个属性。
*integrity*: 可选。允许比对对接收到的资源和指定的加密签名以验证与资源完整性。
*language*: 废弃。最初用于表示代码块中的脚本语言。大多数浏览器都会忽略这个属性,奴应该在使用它。
*src*: 可选。表示包含要执行的代码的外部文件。
*type*: 可选。代替 language,表示代码中脚本语言的那个类型。
· 2.1 推迟执行脚本
HTML4.0为<script>元素定义了一个叫 defer 的属性。这个属性表示脚本在执行的时候不会改变页面的结构。因此,这个脚本完全可以在整个页面解析完之后在运行。在<script>元素上设置defer属性,会告诉浏览器应该立即下载,但应该推迟:
defer属性只对外部脚本文件才有效。这是 HTML5中明确规定的,因此支持 HTML5的浏览器回忽略行内脚本的 defer属性。IE4~7展示出的都是旧的行为,IE8 及更高的版本则支持 HTML5 定义的行为。对 defer 属性的支持是从 IE4,Firefox3.5和 Chrome7开始的。其他浏览器则会忽略这个属性,按照通常的做法来处理脚本。考略这一点,还是要推迟执行的脚本放在页面的底部会比较好。
注意 :对于 XHTML 文档,指定 defer 属性时应该写成 defer="defer"
可以使用 defer 属性脚本推迟到文档渲染完毕后再执行。推迟的脚本总是按照它们被列出的次序执行。
JavaScript 是通过 <script> 元素插入 HTML 页面中的。这个元素可用于与把 JavaScript 代码嵌入到 HTML 页面中,跟其他标记混合在一起,也可用于引入保存在外部文件中的 JavaScript.