簡體   English   中英

為什么 javascript 標簽使用“文本”?

[英]Why do javascript tags use “text”?

每當我們編寫 javascript 時,這就是我們聲明的方式-

      <Script type="text/javascript"> 
      . . .
      . . .
      . . . </script>

但我不明白為什么它被聲明為text

因為它是純文本而不是圖像/或應用程序/但是它可能必須是應用程序,但沒有人使用它,IE 會失敗

因為 text 和以前一樣,如果我們更改它,某些瀏覽器會失敗,所以您應該保留 text/javascript。 現在因為 HTML5 它被丟棄了,因為默認是 javascript,很多 SO 人主張簡單地丟棄它。 這可能會在某些 DOCTYPES 中產生驗證錯誤

<script>
alert("UNLESS this is IE and there is a VBScript as the first script on the page,"+
  "this WILL be JavaScript in all known browsers");
</script>

這也是不使用 onclick=" javascript: something()" 的一個很好的理由,除非您使用一些 IDE 並希望快速找到您的內聯處理程序

腳本標簽的 type 屬性的 javascript MIME 類型是什么?

哪些鏈接到指定腳本語言

類型 = 內容類型:

此屬性指定元素內容的腳本語言並覆蓋默認腳本語言。 腳本語言被指定為內容類型(例如,“text/javascript”)。 作者必須為此屬性提供一個值。 此屬性沒有默認值。

參考: w3

因為它是。 Javascript 來源是文本。 該謂詞將確定數據的傳輸方式。 然后,文本的類型(Javascript 源代碼)決定了它的使用方式。

出於遺留原因。 從技術上講,我們應該使用application/javascriptapplication/ecmascript ,但沒有人真正這樣做。

type 屬性標識<script></script>標記之間的內容。

MIME 類型由兩部分組成:一種媒體類型和一種子類型。 對於 JavaScript,MIME 類型為“text/javascript”。

盡管正如 Douglas Crockford 所說的那樣,將其排除在外

可能沒有任何具體原因選擇了文本類型:由於 JavaScript 是文本,他們選擇了text

但是已知對此類內容使用文本類型是有問題的,因為換行符必須表示為 CRLF,反之亦然,並且假定charset參數的默認值是 US-ASCII (此外, HTTP 指定了 ISO 8859-1 作為默認字符集)。

這就是他們引入application/javascript作為 JavaScript 的 MIME 類型的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM