HTML <script> 标签

html <script> 标签用于定义客户端脚本,比如 JavaScript

<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件

JavaScript 通常用于图像操作、表单验证以及动态内容更改

如果使用 "src" 属性,则 <script> 元素必须是空的

请参阅 <noscript> 元素,对于那些在浏览器中禁用脚本或者其浏览器不支持客户端脚本的用户来说,该元素非常有用

有多种执行外部脚本的方法

如果 async="async",脚本相对于页面的其余部分异步地执行,当页面继续进行解析时,脚本将被执行
如果不使用 async 且 defer="defer",脚本将在页面完成解析时执行
如果既不使用 async 也不使用 defer,在浏览器继续解析页面之前,立即读取并执行脚本

html 4.01 与 HTML5之间的差异

HTML 4 中,"type" 属性是必需的,但在 HTML5 中是可选的

属性 "async" 是 HTML5 中的新属性

HTML5 中不再支持 HTML 4.01 中的某些属性:"xml:space"

HTML 与 XHTML 之间的差异

在 XHTML 中,脚本中的内容类型声明为 #PCDATA(代替 CDATA),就是说会对实体进行解析

这意味着,在 XHTML 中,应该编码所有特殊的字符,或者把所有内容嵌套在 CDATA 部分中

<script>
//<![CDATA[var i=10;
if (i<5){
    // some code
}
//]]>
</script>

属性

属性 描述
async async 设置异步执行脚本(仅适用于外部脚本)
charset charset 设置在脚本中使用的字符编码(仅适用于外部脚本)
defer defer 当页面已完成解析后,执行脚本,仅适用于外部脚本
src URL 设置外部脚本的 URL
type MIME-type 设置脚本的 MIME 类型
xml:space preserve HTML5 不支持
设置是否保留代码中的空白


范例

通过 JavaScript 输出 "Hello world"

<script>document.write("Hello World!")</script>