<script> - スクリプト

トップ > HTMLリファレンス > <script>

■ 概要

項目説明
形式<script>~</script>
サポートH3 / e3 / Ch1 / Fx1 / Sa1 / Op1 / N2
カテゴリメタデータコンテンツ, フローコンテンツ, フレージングコンテンツ, スクリプトサポート要素
親要素メタデータコンテンツ, フレージングコンテンツ, スクリプトサポート要素 を子要素に持てるもの
子要素空(src属性がある場合)、またはスクリプト
タグの省略開始タグ:必須 / 終了タグ:必須

■ 説明

<script> は、JavaScript などのスクリプトを記述するために用います。

主に JavaScript を実行するために使用されますが、VBScript など別のスクリプトも実行可能です。

JavaScript に関する詳細は「とほほのJavaScriptリファレンス」などを参照してください。

■ 属性

【固有属性】
属性意味
src=urlH4/e4/Ch/Fx/Sa/Op/N3。外部スクリプトファイルのURLを指定します。
type=typeH4/e4/Ch/Fx/Sa/Op/N4。スクリプトの言語を type="text/javascript" のような MIMEタイプで指定します。HTML4.01では必須の属性として定義されていましたが、HTML5 では省略時は type="text/javascript" とみなされるようになりました。
deferH4/e4。スクリプトを非同期に読み込みます。詳細は後述。
asyncH5。スクリプトを非同期に読み込み・実行します。詳細は後述。
charset=charsetH4。スクリプトのキャラクタセットを指定します。
crossorigin=stateH5。CORS(Cross-Origin Resource Sharing)で使用される属性で、他のサイトのリソースにアクセスする際に、認証情報を使用するかどうかを指定します。
【その他属性】
属性意味
language=langH4T-4T/e2/N2。スクリプト言語を指定します。現在では type属性を使用することが推奨されています。
event=eventH4-4/e4。将来の機能のために予約されていましたが、HTML5 では廃止されました。
for=idH4-4/e3。将来の機能のために予約されていましたが、HTML5 では廃止されました。
【一般属性】
属性意味
accesskey=keyH4/e4/Ch2/Fx2/Sa3/Op12/N6/i1。アクセスキーを指定します。
class=classH4/e3/Ch1/Fx1/Sa1/Op1/N4。クラスを指定します。
contenteditable=boolH5/e55/Ch11/Fx3/Op10.6/Sa3.2。要素を編集可能にします。
dir=dirH4/e5/Ch5/Fx4/Sa6/Op25/N6。文字の表示方向を指定します。
hiddenH5/e/Ch/Fx/Sa/Op。要素を非表示にします。
id=idH4/e3/Ch/Fx/Sa/Op/N4。ID を指定します。
lang=langH4/e4/Ch/Fx/Sa/Op/N6。言語を指定します。
spellcheck=boolH5。スペルをチェックします。
style=styleH4/e3/Ch/Fx/Sa/Op/N4。スタイルシートを指定します。
tabindex=nH4/e4/Ch/Fx/Sa/Op/N6。タブインデックスを指定します。
title=titleH2/e2/Ch/Fx/Sa/Op/N6。タイトルを指定します。
translate=titleH5。翻訳可否を指定します。

■ 外部スクリプトファイル

src 属性を用いると、JavaScript ファイルを外部ファイルで記述できます。例えば、xxx.js ファイルに下記の内容を記述しておきます。<script> や <!-- や // --> は不用です。

sample.js
alert("Hello!!");

これを、HTMLファイルから下記のように呼び出します。

<script type="text/javascript" src="sample.js"></script>

■ 使用例

HTML
<script type="text/javascript">
<!--
x = 5;
y = 3;
document.write("答は");
document.write(x + y);
document.write("です。");
// -->
</script>
表示
答は8です。

■ async と defer

外部スクリプトファイルを読み込む場合、async属性と defer属性でスクリプト読み込み・実行のタイミングを制御することができます。asyncも defer も指定しない <script src="..."> があると、ブラウザはレンダリングを中断してスクリプトファイルを読み込み、実行した後、レンダリングを再開します。asyncを指定した場合は、レンダリングとスクリプトの読み込み・実行を非同期に平行して実行します。deferを指定した場合は、レンダリングとスクリプトの読み込みを非同期に平行して実行しますが、スクリプトの実行はレンダリング完了後になります。

async や defer を指定した外部スクリプトは、その実行順序が保障されなくなるため、依存関係のあるライブラリに async や defer を指定することはできません。また、async や defer を指定した外部スクリプトでは、document.write() など、レンダリングに直接影響のある記述を用いてはなりません。

■ 関連項目

<noscript>

Copyright (C) 1996-2015 杜甫々
初版:1996年9月10日 最終更新:2015年1月24日
http://www.tohoho-web.com/html/script.htm