script標(biāo)簽屬性用type還是language
被人問起一個(gè)問題:
<script language = "JavaScript">
<script type="text/javascript">
<script>
這三個(gè)標(biāo)簽的使用有什么區(qū)別?
雖然一直在用,卻也沒有好好去弄清楚,這里詳細(xì)說明一下。
查閱一些資料,主要是瀏覽器支持問題。type 和 language 屬性都可用來指定 <script> 標(biāo)簽中的腳本的類型。language 屬性在 HTML 和 XHTML 標(biāo)準(zhǔn)中受到了非議,這兩個(gè)標(biāo)準(zhǔn)提倡使用 type 屬性。遺憾的是,這兩個(gè)屬性的值是不一樣的。
您可能偶爾會(huì)看見 language 的值為 VBScript(對(duì) type 而言是 text/vbscript),表示包含的腳本代碼是用 Microsoft 的 Visual Basic Script 編寫的。
利用 JavaScript,您還可以使用 language 的值 "JavaScript 1.1",表示包含的腳本語(yǔ)句只能被 Netscape 3.0 或更新的版本處理。Netscape 2.0 只支持 JavaScript 1.0,而無(wú)法處理標(biāo)記為 "JavaScript 1.1" 的腳本。
為了保證腳本程序可以正常執(zhí)行,除非特意使用僅 IE 支持的 VBScript 和 Script Encoder 機(jī)制外,應(yīng)當(dāng)將 SCRIPT 標(biāo)記的 "type" 屬性設(shè)置為 "javascript",并且不要設(shè)置已經(jīng)廢棄的 "Languange" 屬性。
各瀏覽器對(duì)于 "type" 和 "language" 屬性本身均支持,但是對(duì)于其中設(shè)置的腳本語(yǔ)言類型識(shí)別與支持各異:
"type" 和 "language" 同時(shí)存在時(shí),所有瀏覽器均優(yōu)先識(shí)別 "type" 屬性內(nèi)的腳本類型;
其中 IE 瀏覽器實(shí)際支持 JScript 和 VBScript 腳本語(yǔ)言標(biāo)示以及 Script Encoder 加密;
Firefox Chrome Safari Opera 對(duì) "type" 屬性值的具體識(shí)別寬容度不一致,相對(duì) Chrome Safari 對(duì)屬性值正確性校驗(yàn)更加寬松,F(xiàn)irefox 的校驗(yàn)最為嚴(yán)格;
在 "Language" 屬性值識(shí)別寬容度比較中,各瀏覽器中 Chrome Safari 依然最為寬松,IE 最為嚴(yán)格,F(xiàn)irefox 與 Opera 持平;
Language Encode 比較中,只有 IE 支持 JScript.Encoder 以及 VBScript.Encoder 類型設(shè)置,F(xiàn)irefox Chrome Safari均不支持,Opera 中則是該屬性值被修復(fù)為默認(rèn)的 Javascript 腳本語(yǔ)言后才有輸出值。
<script language="javascript">
function a() {
b = "a";
}
a();
alert(b);
</script>
關(guān)于變量有一個(gè)問題,即使你在函數(shù)內(nèi)如同上面那樣聲明變量,它就會(huì)變成全局變量。
如果用 var 聲明就會(huì)有一個(gè)問題。
<script language="javascript">
function a() {
var b = "a";
delete b;
alert(b);
}
a();
</script>
結(jié)果依然會(huì)彈出a。
為了保證腳本程序可以正常執(zhí)行,除非特意使用僅 IE 支持的 VBScript 和 Script Encoder 機(jī)制外,應(yīng)當(dāng)將 SCRIPT 標(biāo)記的 "type" 屬性設(shè)置為 "javascript",并且不要設(shè)置已經(jīng)廢棄的 "Languange" 屬性。
相關(guān)文章
js常用數(shù)組操作方法簡(jiǎn)明總結(jié)
這篇文章主要介紹了js常用數(shù)組操作方法簡(jiǎn)明總結(jié),直接上代碼,代碼中有詳細(xì)的注釋,需要的朋友可以參考下2014-06-06
瀏覽器中url存儲(chǔ)的JavaScript實(shí)現(xiàn)
這篇文章主要介紹了瀏覽器中url存儲(chǔ)的JavaScript實(shí)現(xiàn),并且簡(jiǎn)單講述了輸入url地址后提示過去輸入歷史記錄的原理,需要的朋友可以參考下2015-07-07
Javascript基礎(chǔ)教程之while語(yǔ)句
這篇文章主要介紹了Javascript基礎(chǔ)教程之while語(yǔ)句的相關(guān)資料,需要的朋友可以參考下2015-01-01
uniapp返回上一頁(yè)執(zhí)行上一頁(yè)方法解決方案
這篇文章主要給大家介紹了關(guān)于uniapp返回上一頁(yè)執(zhí)行上一頁(yè)方法解決方案,在UniApp中可以通過uni.navigateBack()方法返回上一個(gè)頁(yè)面,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
JavaScript中Cookies的相關(guān)使用教程
這篇文章主要介紹了JavaScript中Cookies的相關(guān)使用教程,包括Cookies的存儲(chǔ)和刪除等操作方法,需要的朋友可以參考下2015-06-06
使用Java實(shí)現(xiàn)簡(jiǎn)單的server/client回顯功能的方法介紹
本篇文章介紹了,使用Java實(shí)現(xiàn)簡(jiǎn)單的server/client回顯功能的方法。需要的朋友參考下2013-05-05

