1. ホーム
  2. javascript

[解決済み] サーバーでMIMEタイプが設定されているのに、なぜ<script type="text/javascript">と記述するのですか?

2022-03-01 19:12:16

質問

私の理解では、MIMEタイプはウェブサーバーによって設定されるものです。なぜ type="text/javascript または type="text/css" 属性は?これは無駄で無視される属性ではないでしょうか?

どのように解決するのですか?

Douglas Crockfordのコメント :

<ブロッククオート

type="text/javascript"

この属性は任意である。この属性は Netscape 2 では、デフォルトのプログラミング すべてのブラウザの言語は JavaScriptです。XHTML では、この属性は は必須であり、不要である。HTMLでは は省略した方がよいでしょう。その場合 ブラウザは何をすべきかを知っています。

とも言っています。

をW3Cが採用したわけではありません。 language 属性を使用し、代わりに type 属性は、MIME タイプを受け取ります。 残念ながら、MIMEタイプは を標準化したため、時々 "text/javascript" または "application/ecmascript" または を追加しました。幸いなことに、すべてのブラウザは 常にJavaScriptを選択します。 デフォルトのプログラミング言語であるため と書くのが常にベストです。 <script> . これは最小のサイズであり、最も一般的な方法で動作します。 は、ほとんどのブラウザで利用できます。

娯楽として、以下の5つのスクリプトを試してみました。

  <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 では、スクリプト 3 以外は ( type="baloney" ) が動作しました。 IE8 では、スクリプト 1 ( type="application/ecmascript" ) とスクリプト3です。 2つのブラウザの広範でないサンプルに基づくと、どうやら type 属性を使用する場合は、(ブラウザに依存する)正当な値を使用した方が良いということです。