HTML <script>標(biāo)簽用于嵌入或引用客戶端腳本(例如JavaScript)。此標(biāo)簽通常也稱為 <script>元素。注意:開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽都不能省略。
通過(guò) JavaScript 輸出 "HTML5 Script Tag Example":
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML script 標(biāo)簽的使用(菜鳥(niǎo)教程 (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>測(cè)試看看 ?/?
在此HTML5文檔示例中,我們使用了<head>標(biāo)記內(nèi)的<script>標(biāo)記引用了一個(gè)名為functions.js的javascript文件。我們還使用了<body>標(biāo)記內(nèi)的<script>標(biāo)記來(lái)打印文本“ HTML5腳本標(biāo)記示例”。
請(qǐng)注意,type="text/javascript" HTML5文檔中<script>標(biāo)記不需要。IEFirefoxOperaChromeSafari
所有主流瀏覽器都支持 <script> 標(biāo)簽。
<script> 標(biāo)簽用于定義客戶端腳本,比如 JavaScript。
<script> 元素既可包含腳本語(yǔ)句,也可以通過(guò) "src" 屬性指向外部腳本文件。
JavaScript 通常用于圖像操作、表單驗(yàn)證以及動(dòng)態(tài)內(nèi)容更改。
注意:如果使用 "src" 屬性,則 <script> 元素必須是空的。
注意:開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽都不能省略。
提示:請(qǐng)參閱 <noscript> 元素,對(duì)于那些在瀏覽器中禁用腳本或者其瀏覽器不支持客戶端腳本的用戶來(lái)說(shuō),該元素非常有用。
注釋: 有多種執(zhí)行外部腳本的方法:
如果 async="async":腳本相對(duì)于頁(yè)面的其余部分異步地執(zhí)行(當(dāng)頁(yè)面繼續(xù)進(jìn)行解析時(shí),腳本將被執(zhí)行)
如果不使用 async 且 defer="defer":腳本將在頁(yè)面完成解析時(shí)執(zhí)行
如果既不使用 async 也不使用 defer:在瀏覽器繼續(xù)解析頁(yè)面之前,立即讀取并執(zhí)行腳本
在 HTML 4 中,"type" 屬性是必需的,但在 HTML5 中是可選的。
"async" 屬性是 HTML5 中的新屬性。
HTML5 中不再支持 HTML 4.01 中的某些屬性:"xml:space"。
在 XHTML 中,腳本中的內(nèi)容類型聲明為 #PCDATA(代替 CDATA),就是說(shuō)會(huì)對(duì)實(shí)體進(jìn)行解析。
這意味著,在 XHTML 中,應(yīng)該編碼所有特殊的字符,或者把所有內(nèi)容嵌套在 CDATA 部分中:
<script type="text/javascript"> //<![CDATA[ var i=10; if (i<5) { // 代碼內(nèi)容 } //]]> </script>
New :HTML5 中的新屬性。
屬性 | 值 | 描述 |
---|---|---|
asyncHTML5 | async | 規(guī)定異步執(zhí)行腳本(僅適用于外部腳本)。 |
charset | charset | 規(guī)定在腳本中使用的字符編碼(僅適用于外部腳本)。 |
defer | defer | 規(guī)定當(dāng)頁(yè)面已完成解析后,執(zhí)行腳本(僅適用于外部腳本)。 |
src | URL | 規(guī)定外部腳本的 URL。 |
type | MIME-type | 規(guī)定腳本的 MIME 類型。 |
xml:space | preserve | HTML5 不支持。規(guī)定是否保留代碼中的空白。 |
<script> 標(biāo)簽支持 HTML 的全局屬性。
HTML 教程:HTML 腳本