HTML <script>标签用于嵌入或引用客户端脚本(例如JavaScript)。此标签通常也称为 <script>元素。注意:开始标签和结束标签都不能省略。
通过 JavaScript 输出 "HTML5 Script Tag Example":
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML script 标签的使用(森客兔子 (thinktus.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 中,"type" 属性是必需的,但在 HTML5 中是可选的。
"async" 属性是 HTML5 中的新属性。
HTML5 中不再支持 HTML 4.01 中的某些属性:"xml:space"。
在 XHTML 中,脚本中的内容类型声明为 #PCDATA(代替 CDATA),就是说会对实体进行解析。
这意味着,在 XHTML 中,应该编码所有特殊的字符,或者把所有内容嵌套在 CDATA 部分中:
<script type="text/javascript"> //<![CDATA[ var i=10; if (i<5) { // 代码内容 } //]]> </script>
New :HTML5 中的新属性。
属性 | 值 | 描述 |
---|---|---|
asyncHTML5 | async | 规定异步执行脚本(仅适用于外部脚本)。 |
charset | charset | 规定在脚本中使用的字符编码(仅适用于外部脚本)。 |
defer | defer | 规定当页面已完成解析后,执行脚本(仅适用于外部脚本)。 |
src | URL | 规定外部脚本的 URL。 |
type | MIME-type | 规定脚本的 MIME 类型。 |
xml:space | preserve | HTML5 不支持。规定是否保留代码中的空白。 |
<script> 标签支持 HTML 的全局属性。
HTML 教程:HTML 脚本