# HTML &lt;script&gt; 标签 ## 实例 在 HTML 页面中插入一段 JavaScript: ``` <script type="text/javascript"> document.write("Hello World!") </script> ``` (在本页底部可以找到更多实例) ## 浏览器支持 | IE | Firefox | Chrome | Safari | Opera | | --- | --- | --- | --- | --- | 所有浏览器都支持 &lt;script&gt; 标签。 ## 定义和用法 &lt;script&gt; 标签用于定义客户端脚本,比如 JavaScript。 script 元素既可以包含脚本语句,也可以通过 src 属性指向外部脚本文件。 必需的 type 属性规定脚本的 MIME 类型。 JavaScript 的常见应用时图像操作、表单验证以及动态内容更新。 ## 提示和注释: 注释:假如此元素内部的代码没有位于某个函数中,那么这些代码会在页面被加载时被立即执行。&lt;frameset&gt; 标签之后的脚本会被忽略。 提示:请参阅 [noscript 元素](/tags/tag_noscript.asp "HTML &lt;noscript&gt; 标签");对于那些在浏览器中禁用脚本或者其浏览器不支持客户端脚本的用户来说,该元素非常有用。 ## HTML 与 XHTML 之间的差异 在 HTML 4.01 中,script 元素的 "language" 属性不被赞成使用。 在 XHTML 1.0 Strict DTD 中,script 元素的 "language" 属性不被支持。 ### HTML 4 和 XHTML 在处理脚本中的内容方面有所不同: 在 HTML 4 中,内容类型声明为 CDATA,就是说不会对实体进行解析。 在 XHTML 中,内容类型声明为 (#PCDATA),也就是说会对实体进行解析。 这意味着,在 XHTML 中,应该编码所有特殊的字符,或者把所有内容嵌套在 CDATA 部分中。 为了确保在 XHTML 文档中脚本正确进行解析,请使用如下语法: ``` <script type="text/javascript"><![CDATA[ document.write("Hello World!") //]]></script> ``` ## 必选的属性 | 属性 | 值 | 描述 | | --- | --- | --- | | [type](/tags/att_script_type.asp) | _MIME-type_ | 指示脚本的 MIME 类型。 | ## 可选的属性 | 属性 | 值 | 描述 | | --- | --- | --- | | [async](/tags/att_script_async.asp "HTML5 &lt;script&gt; async 属性") | async | 规定异步执行脚本(仅适用于外部脚本)。 | | [charset](/tags/att_script_charset.asp) | _charset_ | 规定在外部脚本文件中使用的字符编码。 | | [defer](/tags/att_script_defer.asp) | defer | 规定是否对脚本执行进行延迟,直到页面加载为止。 | | [language](/tags/att_script_type.asp#type_language) | _script_ | 不赞成使用。规定脚本语言。请使用 type 属性代替它。 | | [src](/tags/att_script_src.asp) | _URL_ | 规定外部脚本文件的 URL。 | | xml:space | preserve | 规定是否保留代码中的空白。 | ## 全局属性 &lt;script&gt; 标签支持 [HTML 中的全局属性](/tags/html_ref_standardattributes.asp)。 ## TIY 实例 [插入一段脚本](/tiy/t.asp?f=html_script) 本例演示如何将脚本插入 HTML 文档。 ``` <html> <body> <script type="text/javascript"> document.write("<h1>Hello World!</h1>") </script> </body> </html> ``` [运行于不支持脚本的浏览器](/tiy/t.asp?f=html_noscript) 本例演示如何对付不支持脚本的浏览器。 ``` <!DOCTYPE html> <html> <body> <script type="text/javascript"> document.write("Hello World!") </script> <noscript>Sorry, your browser does not support JavaScript!</noscript> <p>不支持 JavaScript 的浏览器将显示 noscript 元素中的文本。</p> </body> </html> ``` ## 相关页面 教程:[JavaScript 教程](/js/index.asp) 教程:[VBScript 教程](/vbscript/index.asp) ## 相关页面 HTML DOM 参考手册:[Script 对象](/jsref/dom_obj_script.asp "HTML DOM Script 对象")