script标签属性用type还是language?
一個(gè)網(wǎng)站的建設(shè),經(jīng)常會(huì)用到JavaScript,其中必須用到script標(biāo)簽來(lái)外調(diào)js文件,但是script標(biāo)簽屬性用type還是language? type 和 language 屬性都可用來(lái)指定 <script> 標(biāo)簽中的腳本的類型。所以可以使用下面兩種屬性:
language = "JavaScript" 或者: type = "text/javascript"看了一下w3school,language 屬性在 HTML 和 XHTML 標(biāo)準(zhǔn)中受到了非議。
HTML 與 XHTML 之間的差異
在 HTML 4.01 中,script 元素的 "language" 屬性不被贊成使用。 在 XHTML 1.0 Strict DTD 中,script 元素的 "language" 屬性不被支持。
HTML 4 和 XHTML 在處理腳本中的內(nèi)容方面有所不同:
在 HTML 4 中,內(nèi)容類型聲明為 CDATA,就是說(shuō)不會(huì)對(duì)實(shí)體進(jìn)行解析。 在 XHTML 中,內(nèi)容類型聲明為 (#PCDATA),也就是說(shuō)會(huì)對(duì)實(shí)體進(jìn)行解析。 這意味著,在 XHTML 中,應(yīng)該編碼所有特殊的字符,或者把所有內(nèi)容嵌套在 CDATA 部分中。 為了確保在 XHTML 文檔中腳本正確進(jìn)行解析,請(qǐng)使用如下語(yǔ)法:
<script type="text/javascript"><![CDATA[document.write("Hello World!") //]]></script>這兩個(gè)標(biāo)準(zhǔn)提倡使用 type 屬性。遺憾的是,這兩個(gè)屬性的值是不一樣的。 其中屬性type,值是MIME-type,意思是指示腳本的 MIME 類型,而language值是script,是不贊成使用。規(guī)定腳本語(yǔ)言。請(qǐng)使用 type 屬性代替它。 您可能偶爾會(huì)看見(jiàn)language 的值為 VBScript(對(duì) type 而言是 text/vbscript),表示包含的腳本代碼是用 Microsoft 的 Visual Basic Script 編寫(xiě)的。 利用 JavaScript,您還可以使用 language 的值 "JavaScript 1.1",表示包含的腳本語(yǔ)句只能被 Netscape 3.0 或更新的版本處理。Netscape 2.0 只支持 JavaScript 1.0,而無(wú)法處理標(biāo)記為 "JavaScript 1.1" 的腳本。 各瀏覽器對(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)更加寬松,Firefox 的校驗(yàn)最為嚴(yán)格;
- 在 "Language" 屬性值識(shí)別寬容度比較中,各瀏覽器中 Chrome Safari 依然最為寬松,IE 最為嚴(yán)格,Firefox 與 Opera 持平;
- Language Encode 比較中,只有 IE 支持 JScript.Encoder 以及 VBScript.Encoder 類型設(shè)置,Firefox Chrome Safari均不支持,Opera 中則是該屬性值被修復(fù)為默認(rèn)的 Javascript 腳本語(yǔ)言后才有輸出值。
為了保證腳本程序可以正常執(zhí)行,除非特意使用僅 IE 支持的 VBScript 和 Script Encoder 機(jī)制外,應(yīng)當(dāng)將 SCRIPT 標(biāo)記的 "type" 屬性設(shè)置為 "javascript",并且不要設(shè)置已經(jīng)廢棄的 "Languange" 屬性。
轉(zhuǎn)載于:https://www.cnblogs.com/asqq/archive/2012/12/27/3194983.html
總結(jié)
以上是生活随笔為你收集整理的script标签属性用type还是language?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python前端用什么写_Python
- 下一篇: js多维数组扁平化