首頁  >  文章  >  web前端  >  如果伺服器設定了 MIME 類型,為什麼 `` 元素有一個 `type` 屬性?

如果伺服器設定了 MIME 類型,為什麼 `` 元素有一個 `type` 屬性?

Linda Hamilton
Linda Hamilton原創
2024-11-24 02:11:13637瀏覽

Why Is There a `type` Attribute for `` Elements If the Server Sets MIME Types?

如果伺服器設定了 MIME 類型,為什麼還要費心使用 HTML 腳本類型屬性?

儘管伺服器分配了 MIME 類型,HTML 仍為和元素。雖然此屬性看起來多餘,但它可以用於實際目的並具有歷史意義。

Doug Crockford 解釋說

但是,W3C 選擇了更通用的類型屬性,允許 MIME 類型。不幸的是,JavaScript 不存在標準的 MIME 類型,導致出現諸如“text/javascript”和“application/ecmascript”之類的變體。

幸運的是,所有瀏覽器都預設使用 JavaScript 作為程式語言,因此最佳實踐是使用 ;沒有 type 屬性以獲得最佳相容性和簡潔性。

為了說明這一點,測試了五個腳本:

<script type="application/ecmascript">alert("1");</script>
<script type="text/javascript">alert("2");</script>
<script type="baloney">alert("3");</script>
<script type="">alert("4");</script>
<script>alert("5");</script>

在Chrome 上,除type="baloney" 之外的所有腳本都有效,而IE8 拒絕類型=“ application/ecmascript”和類型=“baloney”。這表明雖然可以安全地忽略 type 屬性,但使用無效值可能會導致相容性問題。

以上是如果伺服器設定了 MIME 類型,為什麼 `` 元素有一個 `type` 屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn