<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.

* Some parts of this feature may have varying levels of support.

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
# attr-script-type

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
type
type="importmap"
importmap.integrity
Multiple import maps
Experimental
type="module"
type="speculationrules"
Experimental
eagerness key
Experimental
expects_no_vary_search key
Experimental
prefetch key
Experimental
prerender key
Experimental
referrer_policy key
Experimental
relative_to key
Experimental
requires key
Experimental
anonymous-client-ip-when-cross-origin value
Experimental
source key is optional
Experimental
urls key
Experimental
where key
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
Has more compatibility info.