HTML引用JavaScript

簡述:

    只要一提到把JavaScript放到網頁當中,就不得不涉及Web的核心語言——HTML。在當初開發JavaScript的時候,Netscape要解決的一個重要問題就是如何組做到讓JavaScript既能與HTML頁面共存,又不影響那些頁面在其他瀏覽器的呈現效果。經過嘗試、糾錯和爭論,最終的決定就是爲Web增加統一的腳本支持。而Web誕生早期的很多做法也就保留了下來,並被正式納入HTML規範當中。

<script>元素介紹

    向HTML頁面中插入JavaScript的主要方法,就是使用<script>元素。這個元素由Netscape創造並在Netscape Navigator2 中首先實現。後來這個元素正式被加入到HTML的規範當中。HTML4.01爲<script>定義了下列6個屬性:
    ① async : 可選。表示應該立即下載腳本,但不應妨礙頁面中的其他操作,比如下載其他資源或等待加載其他腳本。只對外部腳本文件有效。
    ② charset : 可選。表示通過src屬性指定的代碼的字符集。由於大多數瀏覽器會忽略它的值,因此這個屬性很少有人使用。
    ③ defer : 可選。表示腳本可以延遲到文檔完全被解析和顯示之後再執行。只對外部腳本文件有效。IE7 及更在版本對嵌入腳本也支持這個屬性。
    ④ language : 已廢棄。原來用於表示編寫代碼使用的腳本語言(如JavaScript、JavaScript1.2或者VBScript)大多數瀏覽器會忽略這個屬性,因此也沒有必要再使用了。
    ⑤ src: 可選。表示包含要執行代碼的外部文件。
    ⑥ type : 可選。可以看做是language的替代屬性;表示編寫代碼使用的腳本語言的內容類型(也稱爲MIME類型)。雖然 text/javascript 和 text/ecmascript都已經不再推薦使用,但人們一直以來使用的都還是 text/javascript。實際上,服務器在傳送JavaScript文件時使用的MIME類型通常是application/x-javascript,但在type中設置這個值卻可能導致腳本本忽略。另外,在非IE瀏覽器中還可以使用以下值:application/javascript 和 application/ecmascript。考慮到約定俗成和最大限度的瀏覽器兼容性,目前type屬性的值依舊還是 text/javascript。不過這個屬性並不是必需的,如果沒有聲明這個屬性,瀏覽器默認值仍爲 text/javascript。

使用方式:

    使用<script>屬性的方式有兩種:直接在頁面中嵌入JavaScript代碼和包含外部JavaScript的文件。

    頁面嵌入JavaScript

    直接在頁面中嵌入JavaScript代碼的方式:在使用<script>元素嵌入JavaScript代碼時,只需爲<script>元素指定type屬性,然後,向下面這樣把JavaScript代碼直接放到元素內部即可:
<script type="text/javascript">
    function sayHello(){
        alert("Hello!");
    }
</script>
    包含在<script>元素內部的JavaScript代碼從上至下依次解析。就拿上面這個例子來說,解析器會解析一個函數的定義,然後將該定義保存在自己的環境當中。在解析器對<script>元素內部的所有代碼求值完畢之前,頁面中的其餘內容都不會被瀏覽加載或顯示。
    在使用<script>嵌入JavaScript代碼時,記住不要在代碼中的任何地方出現"</script>”字符串。例如,瀏覽器加載下列代碼時會出現一個錯誤:
<script type="text/javascript">
    function sayScript(){
        alert(“</script>");
    }
</script>

    因爲按照解析嵌入代碼的規則,當瀏覽器中遇到"</script>”時,就會認爲那是結束的"</script>”標籤,而通過轉義字符”\”解決這個問題,例如:
<script type="text/javascript">
    function sayScript(){
        alert(“<\/script>");
    }
</script>
    HTML加載JavaScript代碼還有另一種方式:引用外部JavaScript文件,接下來我們瞭解一下這種方式。

引用外部JavaScript文件

    如果通過<script>元素引用外部JavaScript文件,那麼src屬性就是必需的。這個屬性的值是一個指向外部JavaScript 文件的鏈接。例如:
<script type="text/javascript” src=“example.js"></script>
     這個例子中,外部文件example.js將會被加載到當前頁面中。外部文件只須包含通常要放在開始的<script>和結束</script>之間的那些JavaScript代碼即可。與解析嵌入式JavaScript代碼一樣,在解析外部JavaScript文件(包括下載該文件)時,頁面的處理也會暫時停止。如果在XHTML文檔中,也可以省略前面示例代碼中結束的</script>標籤。例如:
<script type="text/javascript” src=“example.js” />
    但是,不能在HTML文檔使用這種語法。原因是這種語法不符合HTML規範,而且也得不到某些瀏覽器(尤其是IE)的正確解析。
    需要注意的是,帶有src屬性的<script>元素不應該在其<script>和</script>標籤之間再包含額外的JavaScript代碼。如果包含了嵌入的代碼,則只會下載並執行外部腳本文件,嵌入的代碼會被忽略。

示例源碼下載:HTML引用JavaScript

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章