HTML <script> 標籤
實例
通過 JavaScript 輸出 "Hello world":
<script>
document.write("Hello World!")
</script>
流覽器支持
所有主流流覽器都支持 <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 中的新屬性。
屬性 | 值 | 描述 |
---|---|---|
asyncNew | async | 規定非同步執行腳本(僅適用於外部腳本)。 |
charset | charset | 規定在腳本中使用的字元編碼(僅適用於外部腳本)。 |
defer | defer | 規定當頁面已完成解析後,執行腳本(僅適用於外部腳本)。 |
src | URL | 規定外部腳本的 URL。 |
type | MIME-type | 規定腳本的 MIME 類型。 |
xml:space | preserve | HTML5 不支持。規定是否保留代碼中的空白。 |
全局屬性
<script> 標籤支持 HTML 的全局屬性。
相關文章
HTML 教學:HTML 腳本