JavaScript1.5 宣告與使用
<script> 標籤
當我們想要在 HTML 文件中使用(嵌入) JavaScript 時,則必須使用 <script>…</script> 標籤做宣告,然後將程式碼包括在其中。下邊是一個傳統基本的 <script> 標籤架構。
其中 language 為 <script> 標籤的屬性,其版本有:
<script language="JavaScript版本"> <!-- // JavaScript 程式碼語句; ... //--> </script>
- javascript
- javascript1.1
- javascript1.2
- javascript1.3
- javascript1.5
或者是其它的 Script 語言,例如:
- Jscript
- VBScript
一些老舊「古董」型的瀏覽器並不認識 <script> 標籤,一但遇到其中的程式碼則無法正確的解析,反而會將其程式碼的內容顯示視窗中。為了解決這個問題,我們可以加入 HTML 的註解寫法,也就是將程式碼的部分寫在 <!--與-->之中;不過這也衍生出一個小問題,因為 JavaScript 無法判別-->是不是屬於程式的一部分,所以我們必須在其前頭加上 JavaScript 的註解符號「//」,讓解析器知道從符號之後那一列是屬於註解的部分。而其中的分號「;」是讓解析器知道該列程式碼已結束。
在 W3C HTML4.0 標準規範之後,已不再支持 language 屬性, W3C 轉而使用 MIME 格式的 type 屬性;只要瀏覽器有支援 W3C DOM 的功能皆能使用 type 屬性(例如 IE5+ 與 NN6+ 之後的瀏覽器)。
右邊則是一個符合目前的標準寫法。其中 type 的屬性值有:
<script type="text/javascript"> ... </script>
- text/ecmascript
- text/javascript
- text/jscript
- text/vbscript
- text/vbs
- text/xml
可是 JavaScript 並非是真正的文字文件,所以有人建議使用如下的形式(最適當):
<script type="application/javascript"></script>
<noscript> 標籤
這個標籤實際上存在著一個矛盾(我的自認為),一個不認識 <script> 標籤的瀏覽器又怎能認識 <noscript> 標籤呢?實際上,一個沒有 JavaScript 功能的瀏覽器,除了直接由文字來說明您的瀏覽器無此功能外,這個標籤對於這種瀏覽器是「應該」是沒用的。
所以我們可以將這個標籤做一個新的詮釋。有一些瀏覽者會將其瀏覽器的 JavaScript 功能關閉,這時我們可以使用這個標籤來告知瀏覽者錯過了什麼東西,例如:
<noscript>您的瀏覽器並未開啟 JavaScript 功能。</noscript>
<![CDATA[ … ]]> 標籤
<script type="text/javascript"> <![CDATA[ JavaScript 程式碼; … ]]> </script>
在 XHTML 文件當中,假如有「直接」在文件原始碼中編寫 style 樣式表或者是 JavaScript 程式碼,這時我們就要注意一些符號字元與語法解析器之間的問題,例如 & 與 < 符號字元。
倘若在您的 JavaScript 程式碼當中有一些特定的字元,這時就需要將您的程式碼置於這個標籤的起始標籤與結束標籤之間。使用這個標籤時有一點須要注意的是,並不是所有的瀏覽器都認識這個標籤,例如 IE6。
需要如此做的原因是 XML 的語法解析器會將這些特定的字元當成是 XHTML 標籤的一部分,也就是說語法解析器它無法正確的辨別這個字元是屬於標籤還是屬於程式碼的字元。所以我們就是利用這個標籤來使該區段的程式碼變成單純的文字本文,當語法解析器遇到這個標籤時就會自動跳過,換句話說就是將程式碼隱藏起來。
<script> 標籤放在文件何處
標籤主要是置於下面兩個地方中的任何地方:
- <head> 與 </head> 之間:放置在這邊的是一些非形成本文內容的部分。
- <body> 與 </body> 之間:放置在這邊的是一些形成本文內容的部分。
使用鏈結外部 *.js 檔
在網頁文件中使用 JavaScript 最好的方式就是使用連結外部 *.js 檔的方法。其考量點有二,一是讓老舊「古董」型的瀏覽器完全忽視 Script 的存在或者是讓 Script 在一些特定的規範中正常使用它;二是方便日後對於文件的維護與管理。其使用格式如下:
<script type="text/javascript" src="fileName.js"></script>
在 *.js 檔中不必再增添 <script> 與 </script> 標籤或是其它的東西,單純的編寫程式碼即可。