溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS的script標(biāo)簽屬性有哪些

發(fā)布時間:2022-01-04 17:53:21 來源:億速云 閱讀:405 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“JS的script標(biāo)簽屬性有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

JS script標(biāo)簽有哪些屬性:

  • charset:可選。表示通過src屬性指定的代碼的字符集。由于大多數(shù)瀏覽器會忽略它的值因此這個屬性很少有人用。

  • defer:可選。表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行。

  • language:已廢棄。原來用于表示編寫代碼使用的腳本語言(如JavaScript、JavaScript1.2或VBScript)。大多數(shù)瀏覽器會忽略這個屬性,因此也沒有必要再用了。

  • src:可選。表示包含要執(zhí)行代碼的外部文件。

  • type:必需??梢钥闯墒莑anguage的替代屬性,表示編寫代碼使用的腳本語言的內(nèi)容類型(也稱為MIME類型)。雖然text/javascripttext/ecmascript都已經(jīng)不被推薦使用,但人們一直以來使用的都還是text/javascript。實(shí)際上,服務(wù)端在傳送JavaScript文件時使用的MIME類型通常是application/x-javascript,但在type中設(shè)置這個值卻可能導(dǎo)致腳本被忽略。另外,在非IE瀏覽器中還可以使用以下值:application/javascriptapplication/ecmascript??紤]到約定成俗和最大限度的瀏覽器兼容性,目前type屬性的值依舊還是text/javascript。

使用script>元素的方式有兩種:直接在頁面中嵌入JavaScript代碼和包含外部JavaScript文件。

  在使用script>元素嵌入JavaScript代碼時,只須為script>指定type屬性。然后,像下面這樣把JavaScript代碼直接放在元素內(nèi)部即可: 

 scripttype="text/javascript">

  functionsayHi(){

  alert("Hi!");

  }

  /script>

  包含在script>元素內(nèi)部的JavaScript代碼將被從上至下依次解釋。就拿前面這個例子來說,解釋器會解釋到一個函數(shù)的定義,然后將該定義保存在自己的環(huán)境當(dāng)中。在解釋器對script>元素內(nèi)部的所有代碼求值完畢以前,頁面中的其余內(nèi)容都不會被瀏覽器加載或顯示。

在使用script>嵌入JavaScript代碼時,記住不要在代碼中的任何地方出現(xiàn)"/script>"字符串。

例如,瀏覽器在加載下面所示的代碼時就會產(chǎn)生一個錯誤:

  scripttype="text/javascript">

  functionsayScript(){

  alert('/script>');

  }

  /scrìpt>

  因?yàn)榘凑战馕銮度胧酱a的規(guī)則,當(dāng)瀏覽器遇到字符串"/script>"時,就會認(rèn)為那是結(jié)束的/script>標(biāo)簽。通過把這個字符串分隔為兩部分可以解決這個問題,

例如:

JSscript>標(biāo)簽有哪些屬性: 

 functionsayScript(){

  alert("/scr"+"ipt>");

  }

像這樣分成兩部分來寫就不會造成瀏覽器的誤解,因而也就不會導(dǎo)致錯誤了。

  如果要通過script>元素來包含外部JavaScript文件,那么src屬性就是必需的。這個屬性的值是一個指向外部JavaScript文件的鏈接,

例如:

  scripttype="text/javascript"src="example.js">/script>

  在這個例子中,外部文件example.js將被加載到當(dāng)前頁面中。外部文件只須包含通常要放在開始的script>和結(jié)束的/script>之間的那些JavaScript代碼即可。與解析嵌入式JavaScript代碼一樣,在解析外部JavaScript文件(包括下裁該文件)時,頁面的處理也會暫時停止。如果是在XHTML文檔中,也可以省略前面示例代碼中結(jié)束的/script>標(biāo)簽,

例如:

  scripttype="text/javascript"src="example.js"/>

  但是,不能在HTML文檔使用這種語法。原因是這種語法不符合HTML規(guī)范,而且也得不到某些瀏覽器一一尤其是IE一一的正確解析。

  按照慣例,外部JavaScript文件帶有js擴(kuò)展名。但這個擴(kuò)展名不是必需的,因?yàn)闉g覽器不會檢查包含JavaScript的文件的擴(kuò)展名。這樣一來,使用JSP、PHP或其他服務(wù)器端語言動態(tài)生成JavaScript代碼也就成為了可能。

  需要注意的是,帶有src屬性的script>元素不應(yīng)該在script>和/script>標(biāo)簽之間再包含額外的JavaScript代碼。

  另外,通過script>元素的src屬性還可以包含來自外部域的JavaScript文件。這一點(diǎn)既使script>元素倍顯強(qiáng)大,又讓它備受爭議。在這一點(diǎn)上,script>與img>元索非常相似,即它的src屬性可以是指向當(dāng)前HTML頁面所在域之外的某個域中的URL,例如:

  scripttype="text/javascript"src="http://www.somewhere.com/afile.js">/script>

  這樣,位于外部域中的代碼也會被加載和解析,就像這些代碼位于加載它們的頁面中一樣。利用這一點(diǎn)就可以在必要時通過不同的域來提供JavaScript文件。不過,在訪問自己不能控制的服務(wù)器上的JavaScript文件時則要多加小心。如果不幸遇到了懷有惡意的程序員,那他們隨時都可能替換該文件中的代碼。因此,如果想包含來自不同域的代碼,要么你是那個域的所有者,要么那個域的所有者值得信賴。

  無論如何包含代碼,瀏覽器都會按照script>元素在頁面中出現(xiàn)的先后順序?qū)λ鼈円来芜M(jìn)行解析。換句話說,在第一個script>元素包含的代碼解析完成后,第二個script>包含的代碼才會被解析,然后才是第三個、第四個。

“JS的script標(biāo)簽屬性有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI