## 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