JavaScript は、通常 <script>〜</script> の間に記述します。
<script type="text/javascript"> <!-- window.alert("Hello!!"); // --> </script>
JavaScript に未対応のブラウザが、スクリプト部分を HTML の一部として画面に表示してしまうのを防ぐために、スクリプト全体を <!-- と // --> でコメントアウトします。// を書き忘れると、Netscape ブラウザでエラーとなってしまいますので注意しましょう。
<script type="text/javascript"> <!-- document.write("Hello"); // --> </script>
<noscript>〜</noscript> の間には、JavaScript をサポートしていないブラウザに対するメッセージを記述します。
<script type="text/javascript"> <!-- document.write("Hello"); // --> </script> <noscript> JavaScript対応ブラウザで表示してください。 </noscript>
JavaScript 機能は以下のメニューでオン・オフを切り替えることができます。
少し古い JavaScript では、language 属性で JavaScript のバージョンを指定していました。例えば、次のようにすると、JavaScript 1.2 をサポートしているブラウザでのみ、JavaScript を動作させることができます。
<script language="JavaScript1.2"> <!-- document.write("JavaScript 1.2 をサポートしてるよ"); // --> </script>
ブラウザのバージョンと、対応する JavaScript のバージョンは、以下の通りです。JavaScript1.0 の×は、そのブラウザが JavaScript1.0 をサポートしていないという意味ではなく、language="JavaScript1.0" と記述できないことを意味します。
IE | Netscape | ||||||||
---|---|---|---|---|---|---|---|---|---|
2.* | 3.* | 4.* | 5.* | 2.* | 3.* | 4.0 〜 4.05 | 4.06 〜 4.7 | 6.0 | |
JavaScript | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
JavaScript1.0 | × | × | × | × | × | × | × | × | × |
JavaScript1.1 | × | × | ○ | ○ | × | ○ | ○ | ○ | ○ |
JavaScript1.2 | × | × | ○ | ○ | × | × | ○ | ○ | ○ |
JavaScript1.3 | × | × | × | ○ | × | × | × | ○ | ○ |
JavaScript1.4 | × | × | × | × | × | × | × | × | ○ |
JavaScript1.5 | × | × | × | × | × | × | × | × | ○ |
JScript | × | ○ | ○ | ○ | × | × | × | × | × |
ただし、language 属性は HTML4.01 に採用されなかったため、HTML4.01 に従う場合は language 属性ではなく、type 属性を使用します。
HTML4.01 では language 属性が却下され、代わりに type 属性が必須属性として定義されました。HTML4.01 に準拠する場合は、language 属性ではなく、type 属性を指定してください。値には "text/javascript" を指定します。
<script type="text/javascript"> <!-- document.write("Hello!!"); // --> </script>
イベントハンドラ(onXxxx="〜")に記述したスクリプトの言語を指定するため、HTML4.01 では、HTML のヘッダ部に、下記のような META 記述を行うことを推奨しています。記述しない場合、大半のブラウザでは JavaScript であるとして認識されますが、そうでないブラウザもあるかもしれません。
<html> <head> <title>JavaScript Sample</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <body> : <input type="button" value="OK" onclick="〜"> : </body> </html>
Internet Explorer 4.0、Netscape Navigator 3.0 以降では、外部ファイルに記述した JavaScript を呼び出すこともできます。例えば、下記の内容を test.js など、拡張子が .js のファイルに記述しておきます。
function ohayou() { window.alert("Hello!"); }
JavaScript のプログラム部のみを記述するので、.js ファイルには <script> や <!-- や // --> は記述しないでください。これを、例えば次のように呼び出すことができます。
<html> <head> <title>JavaScript Sample</title> <script type="text/javascript" src="test.js"> </script> </head> <body> : <input type="button" value="OK" onclick="ohayou()"> : </body> </html>
外部ファイルを複数読みこませたい場合は、次のように <script> を2つ記述してください。
<script type="text/javascript" src="test1.js"></script> <script type="text/javascript" src="test2.js"></script>
JavaScript外部ファイルで日本語を用いる場合、IE5.0 以前は外部ファイルをシフトJIS以外で記述すると文字化け、IE5.01 以降(現在確認しているのは IE5.5 まで)はHTML文書の漢字コードと JavaScript外部ファイルの漢字コードが異なると文字化けするといったバグがあるため、HTMLファイルと JavaScript外部ファイルの両方をシフトJISで記述することをオススメします。
JavaScript はまた、次のようにして、クリックしたとき(onClick)やマウスを乗せたとき(onMouseOver)などに実行することができます。これを、イベントハンドラと呼びます。下記の例では、Click Me!! というボタンを押したときに、Hello! というダイアログが表示されます。
<form action="#"> <input type="button" value="Click Me!!" onclick="window.alert('Hello!!')"> </form>
Internet Explorer 4.0、Netscape Navigator 3.0 以降では、JavaScript を下記のように記述することができます。
<a href="javascript:alert('Hello!!')">Click Me</a>