<script>: type 属性

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

type<script> 要素の属性で、その要素で表されるスクリプトの種類(クラシックスクリプト、JavaScript モジュール、インポートマップ、データブロック)を示します。

この属性の値は、スクリプトが表現するデータの種類を示し、以下のいずれかの値を取ります。

属性が未設定(既定値)、空文字列、JavaScript の MIME タイプ

スクリプトが「クラシックスクリプト」であること、JavaScript コードを保持していることを示します。 このスクリプトが JavaScript コードを参照している場合、MIME タイプを指定するのではなく、この属性を省略することを推奨します。 JavaScript の MIME タイプは IANA media types specification に掲載されています

module

コードを JavaScript モジュールとして扱います。 スクリプトコンテンツの処理は延期されます。 charset および defer 属性の影響を受けません。 module の利用についての情報は、 JavaScript モジュールをご覧ください。クラシックスクリプトとは異なり、モジュールスクリプトはオリジンをまたいで読み取る場合、CORS プロトコルを使用する必要があります。

importmap

この値は、要素の本体にインポートマップが格納されていることを示します。 インポートマップ JSON オブジェクトで、開発者が JavaScript モジュールをインポートする際に、ブラウザーがモジュール指定子を解決する方法を制御するために使用できます。

その他の値

このタグで埋め込んだコンテンツを、ブラウザーによって処理されないデータブロックとして扱います。 開発者はデータブロックを記述するために、 JavaScript の MIME タイプではない有効な MIME タイプを使用しなければなりません。 他の属性は、src 属性も含めてすべて無視されます。

メモ: 以前のブラウザーでは、この種類は埋め込んだり(src 属性によって)インポートしたりするコードのスクリプト言語を識別していました。

仕様書

Specification
HTML Standard
# attr-script-type

ブラウザーの互換性

BCD tables only load in the browser