HTML 参考手册

HTML 标签大全

HTML: <script> 标签

HTML <script>标签用于嵌入或引用客户端脚本(例如JavaScript)。此标签通常也称为 <script>元素。注意:开始标签和结束标签都不能省略。

在线示例

通过 JavaScript 输出 "HTML5 Script Tag Example":

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>HTML script 标签的使用(菜鸟教程 (cainiaoplus.com))</title> 
<!-- HTML4 and (x)HTML -->
<script type="text/javascript" src="functions.js">
<!-- HTML5 -->
<script src="/js/functions.js"></script>
</head>
<body>
<script type="text/javascript">
  document.write("HTML5 Script Tag Example");</script>
</body>
</html>
测试看看 ‹/›

在此HTML5文档示例中,我们使用了<head>标记内的<script>标记引用了一个名为functions.js的javascript文件。我们还使用了<body>标记内的<script>标记来打印文本“ HTML5脚本标记示例”。

请注意,type="text/javascript" HTML5文档中<script>标记不需要。

浏览器兼容性

IEFirefoxOperaChromeSafari

所有主流浏览器都支持 <script> 标签。

标签定义及使用说明

<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 type="text/javascript">
//<![CDATA[
var i=10;
if (i<5)
{
    // 代码内容
}
//]]>
</script>

属性

New :HTML5 中的新属性。

属性描述
asyncHTML5async规定异步执行脚本(仅适用于外部脚本)。
charsetcharset规定在脚本中使用的字符编码(仅适用于外部脚本)。
deferdefer规定当页面已完成解析后,执行脚本(仅适用于外部脚本)。
srcURL规定外部脚本的 URL。
typeMIME-type

规定脚本的 MIME 类型。
text/javascript
text/ecmascript
application/javascript
application/ecmascript

xml:spacepreserveHTML5 不支持。规定是否保留代码中的空白。

全局属性

<script> 标签支持 HTML 的全局属性

相关文章

HTML 教程:HTML 脚本