什麼是script標籤元素(屬性)?
script標籤用於定義客戶端腳本,比如JavaScript。
script元素既可包含腳本語句,也可以通過src屬性指向URL腳本文件。
定義和用法
script標籤用於定義客戶端腳本,比如JavaScript。
script元素既可以包含腳本語句,也可以通過src屬性指向外部腳本文件。
必需的type屬性規定腳本的MIME類型。
JavaScript的常見應用時圖像操作、表單驗證以及動態內容更新。
實例
在 HTML 頁面中插入一段 JavaScript:
<script type="text/javascript"> document.write("SEO私館") </script>
<script type="text/javascript" src="https://www.seosiguan.com/a/b/abc.js"></script>
數據統計代碼用的是script元素:
舉例:
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?13216fgfdfh65gfgfgt";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
HTML5為<script>定義了6個屬性:
async:可選,表示應該立即下載腳本,但不應該妨礙頁面中的其他操作,如:下載其他資源或等待記載其腳本,只對外部腳本文件有效。
charset:可選,表示通過src屬性指定的代碼的字符集,大多數瀏覽器會忽略它的值。
defer:可選,表示腳本可以延遲到文檔完全被解析和顯示之後再執行,只對外部腳本文件有效,IE7及更早版本對嵌入腳本也支持這個屬性。
language:已廢棄,表示編寫代碼使用的腳本語言,大多數瀏覽器會忽略這個屬性。
src:可選,表示包含要執行代碼的地址文件。
type:必選,相當於是language的替代屬性,表示編寫代碼使用的腳本語言的內容類型(也成為 MIME 類型),爲了最大限度的瀏覽器兼容性, 目前type屬性的值依舊還是 text/javascript,默認值為text/javascript。
type和language屬性
type和language屬性都可用來指定<script>標籤中的腳本的類型。
language屬性在HTML和XHTML 標準中受到了非議,這兩個標準提倡使用type屬性。遺憾的是,這兩個屬性的值是不一樣的。
如果您在使用 JavaScript,可以使用下麪兩種屬性:
language = "JavaScript"或者:type = "text/javascript"
您可能偶爾會看見language的值為VBScript(對type而言是text/vbscript),表示包含的腳本代碼是用Microsoft的Visual Basic Script編寫的。
利用JavaScript,您還可以使用language的值"JavaScript 1.1",表示包含的腳本語句只能被 Netscape 3.0 或更新的版本處理,Netscape 2.0只支持JavaScript 1.0,而無法處理標記為 "JavaScript 1.1" 的腳本。
提示:如果您希望學習有關JavaScript和VBScript的知識,請訪問我們的 JavaScript 教程和VBScript教程。
src和charset屬性
對特別長的avaScript程序或者經常重複使用的程序來說,你可以希望將這些代碼存放到一個單獨的文件中。在這樣的情況下,讓瀏覽器通過src屬性來載入那個單獨的文件。
src的值是包含這個JavaScript程序的文件的URL。保存的文件的MIME類型應是application/x-javascript,但如果文件名的後綴為.js,也能夠被正確配置了的服務器進行恰當的處理。
例如下麪的語句:
<script type="text/javascript" src="/w3school.com.cn/abc.js">....</script>
上面的例子告訴支持<script>的瀏覽器從服務器上下載名為 abc.js 的JavaScript程序。
重要事項:<script>是開頭,</script>是結束,必須是配套使用。
charset屬性與src屬性一起使用,告訴瀏覽器用來編碼這個javascript程序的字符集。它的值是任何一個ISO標準字符集編碼的名稱。
defer 屬性
有的javascript腳本document.write方法來創建當前的文檔內容,其他腳本就不一定是了。
如果您的腳本不會改變文檔的內容,可將defer屬性加入到<script>標籤中,以便加快處理文檔的速度。因為瀏覽器知道它將能夠安全地讀取文檔的剩餘部分而不用執行腳本,它將推遲對腳本的解釋,直到文檔已經顯示給用戶為止。