JavaScript の書き方

[up] [prev] [next]

<script> タグ

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 機能は以下のメニューでオン・オフを切り替えることができます。

◆ Internet Explorer 5.0 の場合
[ツール]→[インターネットオプション]→[セキュリティ] でゾーンを選択して [レベルのカスタマイズ]→[スクリプト]→[アクティブスクリプト] で変更。ローカルディスクに対してオフにするのは困難なようです。
◆ Netscape Communicator 4.73 の場合
[編集]→[設定]→[詳細]→[JavaScript を有効にする]

language 属性

少し古い 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 属性を使用します。

TYPE 属性

HTML4.01 では language 属性が却下され、代わりに type 属性が必須属性として定義されました。HTML4.01 に準拠する場合は、language 属性ではなく、type 属性を指定してください。値には "text/javascript" を指定します。

<script type="text/javascript">
<!--
document.write("Hello!!");
// -->
</script>

Content-Script-Type

イベントハンドラ(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>

JavaScript 外部ファイル

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>

URL記述

Internet Explorer 4.0、Netscape Navigator 3.0 以降では、JavaScript を下記のように記述することができます。

<a href="javascript:alert('Hello!!')">Click Me</a>

[up] [prev] [next]
Copyright (C) 1996-2002 杜甫々
改訂版初版:2001年5月20日、最終更新:2002年9月8日
http://www.tohoho-web.com/js/write.htm