JSscript標(biāo)簽有哪些屬性
JS script標(biāo)簽有哪些屬性:
charset
:可選。表示通過(guò)src屬性指定的代碼的字符集。由于大多數(shù)瀏覽器會(huì)忽略它的值因此這個(gè)屬性很少有人用。defer
:可選。表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行。language
:已廢棄。原來(lái)用于表示編寫(xiě)代碼使用的腳本語(yǔ)言(如JavaScript、JavaScript1.2或VBScript
)。大多數(shù)瀏覽器會(huì)忽略這個(gè)屬性,因此也沒(méi)有必要再用了。src
:可選。表示包含要執(zhí)行代碼的外部文件。type
:必需??梢钥闯墒莑anguage的替代屬性,表示編寫(xiě)代碼使用的腳本語(yǔ)言的內(nèi)容類(lèi)型(也稱(chēng)為MIME類(lèi)型)。雖然text/javascript
和text/ecmascript
都已經(jīng)不被推薦使用,但人們一直以來(lái)使用的都還是text/javascript
。實(shí)際上,服務(wù)端在傳送JavaScript
文件時(shí)使用的MIME
類(lèi)型通常是application/x-javascript
,但在type中設(shè)置這個(gè)值卻可能導(dǎo)致腳本被忽略。另外,在非IE瀏覽器中還可以使用以下值:application/javascript
和application/ecmascript
??紤]到約定成俗和最大限度的瀏覽器兼容性,目前type屬性的值依舊還是text/javascript
。
使用script>元素的方式有兩種:直接在頁(yè)面中嵌入JavaScript
代碼和包含外部JavaScript
文件。
在使用script>元素嵌入JavaScript代碼時(shí),只須為script>指定type屬性。然后,像下面這樣把JavaScript代碼直接放在元素內(nèi)部即可:
scripttype="text/javascript"> functionsayHi(){ alert("Hi!"); } /script>
包含在script>
元素內(nèi)部的JavaScript
代碼將被從上至下依次解釋。就拿前面這個(gè)例子來(lái)說(shuō),解釋器會(huì)解釋到一個(gè)函數(shù)的定義,然后將該定義保存在自己的環(huán)境當(dāng)中。在解釋器對(duì)script>
元素內(nèi)部的所有代碼求值完畢以前,頁(yè)面中的其余內(nèi)容都不會(huì)被瀏覽器加載或顯示。
在使用script>
嵌入JavaScript
代碼時(shí),記住不要在代碼中的任何地方出現(xiàn)"/script>"
字符串。
例如,瀏覽器在加載下面所示的代碼時(shí)就會(huì)產(chǎn)生一個(gè)錯(cuò)誤:
scripttype="text/javascript"> functionsayScript(){ alert('/script>'); } /scrìpt>
因?yàn)榘凑战馕銮度胧酱a的規(guī)則,當(dāng)瀏覽器遇到字符串"/script>
"時(shí),就會(huì)認(rèn)為那是結(jié)束的/script>
標(biāo)簽。通過(guò)把這個(gè)字符串分隔為兩部分可以解決這個(gè)問(wèn)題,
例如:
JSscript>標(biāo)簽有哪些屬性:
functionsayScript(){ alert("/scr"+"ipt>"); }
像這樣分成兩部分來(lái)寫(xiě)就不會(huì)造成瀏覽器的誤解,因而也就不會(huì)導(dǎo)致錯(cuò)誤了。
如果要通過(guò)script>
元素來(lái)包含外部JavaScript
文件,那么src屬性就是必需的。這個(gè)屬性的值是一個(gè)指向外部JavaScript文件的鏈接,
例如:
scripttype="text/javascript"src="example.js">/script>
在這個(gè)例子中,外部文件example.js
將被加載到當(dāng)前頁(yè)面中。外部文件只須包含通常要放在開(kāi)始的script>和結(jié)束的/script>之間的那些JavaScript代碼即可。與解析嵌入式JavaScript
代碼一樣,在解析外部JavaScript文件(包括下裁該文件)時(shí),頁(yè)面的處理也會(huì)暫時(shí)停止。如果是在XHTML文檔中,也可以省略前面示例代碼中結(jié)束的/script>標(biāo)簽,
例如:
scripttype="text/javascript"src="example.js"/>
但是,不能在HTML文檔使用這種語(yǔ)法。原因是這種語(yǔ)法不符合HTML規(guī)范,而且也得不到某些瀏覽器一一尤其是IE一一的正確解析。
按照慣例,外部JavaScript文件帶有js擴(kuò)展名。但這個(gè)擴(kuò)展名不是必需的,因?yàn)闉g覽器不會(huì)檢查包含JavaScript的文件的擴(kuò)展名。這樣一來(lái),使用JSP、PHP或其他服務(wù)器端語(yǔ)言動(dòng)態(tài)生成JavaScript代碼也就成為了可能。
需要注意的是,帶有src屬性的script>元素不應(yīng)該在script>和/script>標(biāo)簽之間再包含額外的JavaScript代碼。
另外,通過(guò)script>元素的src屬性還可以包含來(lái)自外部域的JavaScript文件。這一點(diǎn)既使script>元素倍顯強(qiáng)大,又讓它備受爭(zhēng)議。在這一點(diǎn)上,script>與img>元索非常相似,即它的src屬性可以是指向當(dāng)前HTML頁(yè)面所在域之外的某個(gè)域中的URL,例如:
scripttype="text/javascript"src="http://www.somewhere.com/afile.js">/script>
這樣,位于外部域中的代碼也會(huì)被加載和解析,就像這些代碼位于加載它們的頁(yè)面中一樣。利用這一點(diǎn)就可以在必要時(shí)通過(guò)不同的域來(lái)提供JavaScript文件。不過(guò),在訪(fǎng)問(wèn)自己不能控制的服務(wù)器上的JavaScript文件時(shí)則要多加小心。如果不幸遇到了懷有惡意的程序員,那他們隨時(shí)都可能替換該文件中的代碼。因此,如果想包含來(lái)自不同域的代碼,要么你是那個(gè)域的所有者,要么那個(gè)域的所有者值得信賴(lài)。
無(wú)論如何包含代碼,瀏覽器都會(huì)按照script>元素在頁(yè)面中出現(xiàn)的先后順序?qū)λ鼈円来芜M(jìn)行解析。換句話(huà)說(shuō),在第一個(gè)script>元素包含的代碼解析完成后,第二個(gè)script>包含的代碼才會(huì)被解析,然后才是第三個(gè)、第四個(gè)。
到此這篇關(guān)于JSscript標(biāo)簽有哪些屬性的文章就介紹到這了,更多相關(guān)JSscript標(biāo)簽有哪些屬性?xún)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
小程序?qū)崿F(xiàn)簡(jiǎn)單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07javascript獲取checkbox復(fù)選框獲取選中的選項(xiàng)
這篇文章主要介紹了javascript獲取checkbox復(fù)選框獲取選中的選項(xiàng)的方法,需要的朋友可以參考下2014-08-08layui表格 列自動(dòng)適應(yīng)大小失效的解決方法
今天小編就為大家分享一篇layui表格 列自動(dòng)適應(yīng)大小失效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09c#程序員對(duì)TypeScript的認(rèn)識(shí)過(guò)程
本文向大家詳細(xì)展示了從C#程序員的視角學(xué)習(xí)TypeScript的過(guò)程,主要是針對(duì)這兩種語(yǔ)言的異同進(jìn)行了簡(jiǎn)單的對(duì)比學(xué)習(xí),希望對(duì)大家能夠有所幫助。2015-06-06JavaScript中alert的使用方法超詳細(xì)介紹
JS中的alert作用是在瀏覽器中彈出一個(gè)警告框,而使用alert有三種方式,不同的方式所呈現(xiàn)的效果也不相同,這篇文章主要給大家介紹了關(guān)于JavaScript中alert使用方法的相關(guān)資料,需要的朋友可以參考下2024-01-01