<script> - スクリプト

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

■ 概要

項目説明
形式<script>〜</script>
サポートH3+ / e3+ / N2+ / Fx1+ / Op6+ / Ch1+ / Sa1+
タグの省略開始タグ:必須、終了タグ:必須
包含可能要素文字列

■ 説明

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

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

■ 属性

【固有属性】
属性意味
src=urlH4+/e4+/N3+。外部スクリプトファイルのURLを指定します。
type=typeH4+/e4+/N4+。スクリプトの言語を type="text/javascript" のような MIMEタイプで指定します。HTML4.01では必須の属性として定義されています。
deferH4+/e4+。スクリプトを非同期に読み込みます。詳細は後述。
asyncH5+。スクリプトを非同期に読み込み・実行します。詳細は後述。
charset=charsetH4+。スクリプトのキャラクタセットを指定します。
【その他属性】
属性意味
language=langH4T/e2/N2。スクリプト言語を指定します。現在では type属性を使用することが推奨されています。
event=eventH4/e4+。将来の機能のために予約されていましたが、HTML5 では廃止の予定です。
for=idH4+/e3+。将来の機能のために予約されていましたが、HTML5 では廃止の予定です。
【一般属性】
属性意味
class=classH4+/e3+/N4+。クラスを指定します。
id=idH4+/e3+/N4+。ID を指定します。
style=styleH4+/e3+/N4+。スタイルシートを指定します。
title=titleH4+/e4+/N6+。タイトルを指定します。
dir=dirH4+/e5+/N6+。文字の表示方向を指定します。
lang=langH4+/e4+/N6+。言語を指定します。
accesskey=keyH5+。アクセスキーを指定します。
tabindex=nH5+。タブインデックスを指定します。
contenteditable=boolH5+/e55+。要素を編集可能にします。
contextmenu=idH5+。コンテキストメニューを指定します。
draggable=boolH5+。ドラッグを可能にします。
dropzone=valueH5+。ドロップを可能にします。
hiddenH5+。要素を非表示にします。
spellcheck=boolH5+。スペルをチェックします。
IE拡張属性他にもIEで拡張された属性が指定可能です。

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

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

alert("Hello!!");

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

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

ただし、Internet Explorer 4.0 では、src で指定した外部ファイルで日本語を使用する場合は、必ずシフトJISにしなくてはならないなど、いくつか制限があるようです。

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

■ 使用例

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-2011 杜甫々
初版:2000年10月9日 最終更新:2011年6月11日
http://www.tohoho-web.com/html/script.htm