HTML <script> 标签
HTML <script> 标签用于定义客户端脚本,比如 JavaScript
<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件
JavaScript 通常用于图像操作、表单验证以及动态内容更改
如果使用 "src" 属性,则 <script> 元素必须是空的
请参阅 <noscript> 元素,对于那些在浏览器中禁用脚本或者其浏览器不支持客户端脚本的用户来说,该元素非常有用
有多种执行外部脚本的方法
-
如果 async="async"
脚本相对于页面的其余部分异步地执行,当页面继续进行解析时,脚本将被执行
-
如果不使用 async 且 defer="defer"
脚本将在页面完成解析时执行
-
如果既不使用 async 也不使用 defer
在浏览器继续解析页面之前,立即读取并执行脚本
浏览器支持
所有主流浏览器都支持 <script> 标签
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>
全局属性
<script> 标签支持 HTML 的全局属性
相关文章
HTML 教程: HTML 脚本