全面了解js中的script标签

在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址"></script>),浏览器在渲染页面的时候,当读取到script元素时,浏览器不会以HTML或XHTML的方式处理其内容,浏览器会通知浏览器的脚本引擎来接管script元素中的内容。

script元素的type属性定义脚本类型,type类型有:

1.text/ecmascript(表示以ECMAScript方式解析这段脚本,即基于ECMA-262脚本标准)

2.text/jscript(表示以JScript方式解析这段脚本,它是微软在IE浏览器中所实现的ECMAScript语言的一种变种)

3.text/vbscript

4.text/vbs

(3、4种表示以微软的VBScript方式处理,是完全不同的脚本语言)

script元素的language属性(早期的script标签中用其属性来解决浏览器兼容问题):

<script type="text/javascript" src="a.js" language="javascript1.2"></script>

language定义支持该脚本的浏览器版本(即浏览器支持javascript1.2,则就执行a.js文件中的代码)

script元素的defer属性:

<script type="text/javascript" src="a.js" language="javascript1.2" defer="defer"></script>

defer属性设置成"defer",表示该脚本不会生成任何文档内容,于是浏览器可以提前处理页面的剩余部分,在页面处理结束并做好显示准备时才处理脚本部分。

script标签在页面中放的位置。

浏览器从同一个域名并发载入的资源是有限制的,所以当把脚本添加到head元素中时,首先载入的将是脚本,其次才是文档的剩余部分。为什么说,把引入了javascript的script元素标签放在head中可能会使得浏览器延迟页面剩余部分的显示?主要是因为脚本中可能会调用document.write方法修改dcument对象。

参考:《Javascript学习指南》

相关推荐