JSscript標籤有哪些屬性
script標籤有哪些屬性:
charset
:可選。表示通過src屬性指定的程式碼的字符集。由於大多數瀏覽器會忽略它的值因此這個屬性很少有人用。defer
:可選。表示可以延遲到文件完全被解析和顯示之後再執行。language
:已廢棄。原來用於表示編寫程式碼使用的指令碼語言(如、Script1.2或VBScript
)。大多數瀏覽www.cppcns.com器會忽略這個屬性,因此也沒有http://www.cppcns.com必要再用了。src
:可選。表示包含要執行程式碼的外部檔案。type
:必需。可以看成是language的替代屬性,表示編寫程式碼使用的指令碼語言的內容型別(也稱為MIME型別)。雖然text/javascript
text/ecmascript
都已經不被推薦使用,但人們一直以來使用的都還是text/javascript
。實際上,服務端在傳送JavaScript
檔案時使用的MIME
型別通常是application/x-javascript
,但在type中設定這個值卻可能導致指令碼被忽略。另外,在非IE瀏覽器中還http://www.cppcns.com可以使用以下值:application/javascript
和application/ecmascript
。考慮到約定成俗和最大限度的瀏覽器相容性,目前type屬性的值依舊還是text/javascript
。
使用script>元素的方式有兩種:直接在頁面中嵌入JavaScriVAqPi
程式碼和包含外部JavaScript
檔案。
在使用script>元素嵌入JavaScript程式碼時,只須為script>指定type屬性。然後,像下面這樣把JavaScript程式碼直接放在元素內部即可:
scripttype="text/javascript"> functionsayHi(){ alert("Hi!"); } /script>
包含在script>
元素內部的JavaScript
程式碼將被從上至下依次解釋。就拿前面這個例子來說,直譯器會解釋到一個函式的定義,然後將該定義儲存在自己的環境當中。在直譯器對script>
在使用script>
嵌入JavaScript
程式碼時,記住不要在程式碼中的任何地方出現"/script>"
字串。
例如,瀏覽器在載入下面所示的程式碼時就會產生一個錯誤:
scripttype="text/javascript"> functionsayScript(){ alert('/script>'); } /scrpt>
因為按照解析嵌入式程式碼的規則,當瀏覽器遇到字串"/script>
"時,就會認為那是結束的/script>
標籤。通過把這個字串分隔為兩部分可以解決這個問題,
例如:
JSscript>標籤有哪些屬性:
functionsayScript(){ alert("/scr"+"ipt>"); }
像這樣分成兩部分來寫就不會造成瀏覽器的誤解,因而也就不會導致錯誤了。
如果要通過script>
元素來包含外部JavaScript
檔案,那麼src屬性就是必需的。這個屬性的值是一個指向外部JavaScript檔案的連結,
例如:
scripttype="text/javascript"src="example.js">/script>
在這個例子中,外部檔案example.js
將被載入到當前頁面中。外部檔案只須包含通常要放在開始的script>和結束的/script>之間的那些JavaScript程式碼即可。與解析嵌入式JavaScript
程式碼一樣,在解析外部JavaScript檔案(包括下裁該檔案)時,頁面的處理也會暫時停止。如果是在XHTML文件中,也可以省略前面示例程式碼中結束的/script>標籤,
例如:
scripttype="text/javascript"src="example.js"/>
但是,不能在HTML文件使用這種語法。原因是這種語法不符合HTML規範,而且也得不到某些瀏覽器一一尤其是IE一一的正確解析。
按照慣例,外部JavaScript檔案帶有js副檔名。但這個副檔名不是必需的,因為瀏覽器不會檢查包含JavaScript的檔案的副檔名。這樣一來,使用JSP、或其他伺服器端語言動態生成JavaScript程式碼也就成為了可能。
需要注意的是,帶有src屬性的script>元素不應該在script>和/script>標籤之間再包含額外的JavaScript程式碼。
另外,通過script>元素的src屬性還可以包含來自外部域的JavaScript檔案。這一點既使script>元素倍顯強大,又讓它備受爭議。在這一點上,script>與img>元索非常相似,即它的src屬性可以是指向當前HTML頁面所在域之外的某個域中的URL,例如:
scripttype="text/javascript"src="http://www.somewhere.com/afile.js">/script>
這樣,位於外部域中的程式碼也會被載入和解析,就像這些程式碼位於載入它們的頁面中一樣。利用這一點就可以在必要時通過不同的域來提供JavaScript檔案。不過,在訪問自己不能控制的伺服器上的JavaScript檔案時則要多加小心。如果不幸遇到了懷有惡意的程式設計師,那他們隨時都可能替換該檔案中的程式碼。因此,如果想包含來自不同域的程式碼,要麼你是那個域的所有者,要麼那個域的所有者值得信賴。
無論如何包含程式碼,瀏覽器都會按照script>元素在頁面中出現的先後順序對它們依次進行解析。換句話說,在第一個script>元素包含的程式碼解析完成後,第二個script>包含的程式碼才會被解析,然後才是第三個、第四個。
到此這篇關於JSscript標籤有哪些屬性的文章就介紹到這了,更多相關JSscript標籤有哪些屬性內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!