<SCRIPT>NN 2 IE 3 HTML 4  

<SCRIPT>...</SCRIPT>

HTML 終了タグ : 必要  

script 要素は、ブラウザによって解釈可能なスクリプト言語で書かれたスクリプトコードの行のコンテナになります。関数定義内に書かれていないスクリプトステートメントは、ページの読み込み時に実行されます。関数定義は読み込まれますが、その実行はユーザーやシステムアクション (イベント) によって明示的に呼び出されるまで待機されます。ドキュメント内に複数の script 要素を入れることができ、また同じドキュメント内に異なるスクリプト言語で書かれた script 要素を追加できます。

HTML 4 で属性の構文に重要な変化がありました。script 要素内でステートメントのスクリプト言語を指定するために、初期のスクリプト実行可能なブラウザから language 属性が使用されてきました。HTML 4 では、この属性の代わりに MIME タイプである type 属性が使用されます。多くのブラウザによって type 属性がサポートされるようになるまでは、古いブラウザとの下位互換性を長期間保つために、両方の属性をドキュメントに追加することをお勧めします。language 属性は Transitional DTD で妥当性が検証されます。

初期のスクリプト実行可能なブラウザを除くすべてのブラウザでは、src 属性に URL が指定されたドキュメントからスクリプトステートメントがドキュメントにインポートされます。

以前のスクリプトが使用できないブラウザは script 要素を認識せず、スクリプトステートメントを通常の HTML コンテンツとして表示しようとすることがあります。このような状況を避けるため、スクリプトステートメントを HTML ブロックコメントマーカ内に入れます。JavaScript がスクリプトエラーを引き起こさないようにするには、コメントの終了マーカ (-->) の前に JavaScript コメントマーカ (//) が必要です。

JavaScript と XHTML で文字が競合することと、XHTML で推奨される <![CDATA[...]]> スクリプトラッパーがブラウザでサポートされていないことによって、XHTML で妥当性を検証する必要があるページに対しては、インポートしたスクリプトライブラリを使用する必要があります。これにより、XML パーサーは小なり記号 (<) を誤って XML マークアップシンボルとして解釈することがなくなります。

 
 
<SCRIPT type="text/javascript" language="JavaScript">
<!--
FUNCTION howdy( ) {
    alert("Hello, HTML world!");
}
//-->
</SCRIPT>

<SCRIPT type="text/javascript" scr="scripts/myscript.js"></SCRIPT>
 
要素固有の属性
 
charsetdefereventforlanguage
srctypeversionxml:space
 
要素固有のイベントハンドラー属性

なし

charsetNN 6 IE なし HTML 4  

charset="characterSet"

オプション  

src 属性によって参照されたファイル内のコンテンツの文字エンコード。

 
 
<SCRIPT charset="csISO5427Cyrillic" src="moscow.js"> . . . </SCRIPT>
 

文字セットレジストリ (ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets) にあるエイリアス。大文字と小文字は区別されません。

 
既定値

ブラウザによって異なります。

deferNN 6 IE 4 HTML 4  

defer

オプション  

defer 属性があると、ブラウザはページの読み込み時にコンテンツを生成するスクリプトを探さずに、通常の HTML コンテンツを表示します。これは助言的な属性としてのみ使用されます。document.write() ステートメントを探すときに script 要素のコンテンツが解析されるため、ブラウザは残りの HTML コンテンツを表示するのを待つ必要がありません。バージョン 7 現在、Netscape は defer 属性を受け付けますが、応答しません。

 
 
<SCRIPT type="text/javascript" language="JavaScript" defer>...</SCRIPT>
 

この属性があると、属性値には true が設定されます。

 
既定値

false

 
オブジェクト参照
 
[window.]document.getElementById(elementID).defer
eventNN なし IE 4 HTML |4|  

event="eventName"

オプション  

Internet Explorer のイベントモデルでは、event 属性と for 属性を使用して、オブジェクトイベントを script 要素にバインドできます。ページが読み込まれると、ブラウザは各 script 要素をそのイベントおよびオブジェクトバインディングと共に登録するため、オブジェクトによってイベントが生成されるときに、script 要素内のスクリプトステートメントが実行されます。オブジェクトのイベントハンドラーを書いたり、スクリプトステートメントを関数定義内に入れる必要はありません。イベント値は、関数としてフォーマットされた引用符なしまたは引用符付きのイベント名として書かれます。その後にかっこは付きますが、パラメータ名は省略可能です。このタイプのスクリプトとイベントのバインディングは Internet Explorer でのみ使用してください。Navigator はページの読み込み中にスクリプトステートメントを実行しようとします。Transitional HTML 4 DTD ではこの属性を将来使用するために予約していますが、XHTML 1.0 では予約していません。

 
 
<SCRIPT for="window" event="onresize( )">...</SCRIPT>
 

大文字と小文字を区別するイベント名、または引用符で囲んだ関数としてのイベント名。for 属性に指定されるオブジェクトは、event 属性に名前を指定されたイベントをサポートする必要があります。

 
既定値

なし

 
オブジェクト参照
 
[window.]document.getElementById(elementID).event
forNN なし IE 4 HTML |4|  

for="elementID"

オプション  

Internet Explorer のイベントモデルでは、event 属性と for 属性を使用して、オブジェクトイベントを script 要素にバインドできます。ページが読み込まれると、ブラウザは各 script 要素をそのイベントおよびオブジェクトバインディングと共に登録するため、オブジェクトによってイベントが生成されるときに、script 要素内のスクリプトステートメントが実行されます。オブジェクトのイベントハンドラーを書いたり、スクリプトステートメントを関数定義内に入れる必要はありません。処理するイベントを持つ要素固有の id 属性の値を使用します。このタイプのスクリプトとイベントのバインディングは Internet Explorer でのみ使用してください。Navigator はページの読み込み中にスクリプトステートメントを実行しようとします。Transitional HTML 4 DTD ではこの属性を将来使用するために予約していますが、XHTML 1.0 では予約していません。

 
 
<SCRIPT for="firstNameEntry" event="onchange( )">...</SCRIPT>
 

イベントを生成する要素の大文字と小文字を区別する ID。for 属性に指定されるオブジェクトは、event 属性に名前を指定されたイベントをサポートする必要があります。

 
既定値

なし

 
オブジェクト参照
 
[window.]document.getElementById(elementID).htmlFor
languageNN 2 IE 3 HTML 4  

language="scriptingLanguage"

オプション  

要素内で定義されたスクリプトステートメントのスクリプト言語を設定します。HTML 4 では、この属性の代わりに type 属性の使用が推奨されていますが、初期のスクリプト実行可能なブラウザから長期間に渡って使用されてきているため、この属性の使用やサポートは今後も継続される予定です。さらに、これまでスクリプトブロックの JavaScript のバージョンを指示できるのはこの属性のみでした。第 12 章の Array オブジェクトを参照してください。

 
 
<SCRIPT language="JavaScript">...</SCRIPT>
 

Internet Explorer で認識されている大文字と小文字を区別する次の 4 つの言語名 : JavaScript | JScript | vbs | vbscriptNavigator が認識するのは JavaScript のみです。JavaScript の各バージョンも該当ブラウザでサポートされています。値を 1 語の識別子のまま維持するには、バージョン番号は "JavaScript" という言語名の最後に付けます。バージョンのない "JavaScript" はすべてのブラウザに対応しており、"JavaScript1.1" は Navigator 3 でのみ、"JavaScript1.2" は Navigator 4.0 ~ 4.05 および Internet Explorer 4 で認識され、"JavaScript1.3" は Navigator 4.06 ~ 4.7x および IE 5 ~ 6、"JavaScript1.5" は Netscape 6 ~ 7 に適用されます。script 要素がこれらの新しいバージョン値に指定されると、名前の付いたバージョンを認識しない古いブラウザは script 要素を無視します。

 
既定値

JavaScript (NN)、JScript (IE)。

 
オブジェクト参照
 
[window.]document.getElementById(elementID).language
srcNN 3 IE 4 HTML 4  

src="URL"

オプション  

外部ファイルからスクリプトステートメントのファイルをインポートします。外部ステートメントが読み込まれると、ブラウザはそれらをメインの HTML ドキュメントに埋め込まれたもののように扱います。この属性は Internet Explorer 3 ではある程度サポートされていますが、特定の JScript.dll バージョンに依存するため、IE 3 での使用は完全に信頼できるものではありません。

理論上は、外部スクリプトライブラリファイルを読み込む script 要素内にスクリプトステートメントを追加できるはずですが、実際には、外部ライブラリファイルやドキュメント内のスクリプトそれぞれに対して個別の script 要素を設定する方がより確実です。

現在の実装においては、src 属性は JavaScript 外部ファイルを指し示すだけに留まります。このようなファイルの拡張子は .js である必要があり、またサーバーではそのようなファイルに対応できるように、拡張子および MIME タイプ application/x-javascript が設定されている必要があります。

XHTML ドキュメントで src 属性を指定する場合、ブラウザによっては終了タグの省略しない方がよいことがあります。タグを空の要素とは見なさずに、外部ソースからのコンテンツを含む要素であると見なします。明示的な </SCRIPT> 終了タグを使用してください。

 
 
<SCRIPT language="JavaScript" type="text/javascript" src="stringParseLib.js">
</SCRIPT>
 

有効な URL。現在のブラウザは、名前が .js 拡張子で終わるファイルを必要とします。絶対 URL を使用すると、この機能を実装している古いブラウザでの問題を回避できることがあります。

 
既定値

なし

 
オブジェクト参照
 
[window.]document.getElementById(elementID).src
typeNN 6 IE 4 HTML 4  

type="MIMEType"

必要  

スクリプトステートメントのコンテンツタイプに関する助言的な属性。コンテンツタイプは、スクリプトステートメントの解釈に使用するスクリプトエンジンをブラウザに指示します。要素のステートメントに使用されているスクリプト言語を定義するために、今後は language 属性ではなく type 属性を使用します。新旧のブラウザとの互換性を保つため、script 要素に languagetype の両方の属性を設定できます。

 
 
<SCRIPT type="text/javascript" language="JavaScript">...</SCRIPT>
 

大文字と小文字を区別しない MIME タイプ。各ブラウザで処理できる値は限られています。Internet Explorer 4 以降および Netscape 6 では、ECMAScript 互換言語のスクリプトに対して text/javascriptapplication/x-javascript を使用できます。Internet Explorer では、text/ecmascripttext/jscripttext/vbs (Windows 版 IE)、text/vbscript (Windows 版 IE)、および text/xml (IE 5 以降) のタイプも使用できます。

 
既定値

なし

 
オブジェクト参照
 
[window.]document.getElementById(elementID).type  
versionNN なし IE なし HTML 4  

version="x.y"

オプション  

この属性は、Mozilla ベースのブラウザで予定されている将来の実装として、ここで取り上げています。type 属性を補完するこの属性をサポートするための多くの機能は、Netscape 6 (Mozilla) ブラウザエンジンに組み込まれていますが、Netscape 7 ではまだ実装されていません。

 
 
<SCRIPT type="text/javascript" version="1.5">...</SCRIPT>
 

メジャーバージョンとマイナーバージョンを示す整数をピリオドで区切った形式で表した言語バージョン

xml:spaceNN なし IE なし HTML X1.0  

xml:space="preserve"

オプション  

XHTML パーサーはドキュメントを処理するとき、ソースコードのすべての空白スペースを削除することになっています。このような削除によってスクリプトが壊れる可能性があります。XML 名前空間の space 属性を指定することによって、ソースコードのスクリプト要素のコンテンツの空白スペースをそのまま保持するようにパーサーに指示できます。

 
 
<SCRIPT type="text/javascript" xml:space="preserve">...</SCRIPT>
 

定数値 : preserve

 
既定値

なし