JavaScrpt

Webブラウザのオブジェクト   Prev. Page  Next Page

クライアントサイドのプログラム言語JavaScript

JavaScriptはクラインアトサイドで動作します。これに対してCGIスクリプトやPHP、Java(Servlet,JSP)などはサーバサイドで動作します。JavaScriptは、Webブラウザ内で実行され、Webブラウザが提供するオブジェクト群を通してWebブラウザが提供する情報を参照したり、Webブラウザそのものを操作したりできます。また、「DOM」と呼ばれるオブジェクトを利用することで、HTMLのコンテンツにアクセスし、コンテンツを動的に変更できます。

イベント駆動型プログラミング

JavaScriptはイベント駆動型のプログラムで、ボタンがクリックされたり、マウスが特定の要素に重なったりした場合など、ユーザーの操作に応じて実行されます。JavaScriptでイベント処理には以下の2つの方法があります。
  • HTMLタブのイベントハンドラ属性を使用する
  • JavaScriptでHTML要素に対応するオブジェクトにイベントリスナを設定する
  • ■HTMLタグにイベントハンドラ属性

    イベントハンドラ属性とは、「onイベント名」という名称の属性で、イベントの種類に応じて以下の表のようなものがあります。
    表1
    onclickクリックされたとき
    ondclickダブルクリックされたとき
    onmousedownマウスボタンがクリックされたとき
    onmouseupマウスボタンがを放したとき
    onmouseoverマウスが要素上に移動したとき
    onmouseoutマウスが要素上から放れたとき
    onchangeフォーム内の要素について値が変更されたとき
    onblurフォーム内の要素についてフォーカスが外れたとき
    onfocusフォーム内の要素についてフォーカスが当たったとき
    onkeydownキーを押したときとき
    onkeypressキーを押して放したとき
    onkeyupキーを放したとき
    onselectテキストフォールドやテキストエリアでテキストが選択されたとき
    onsubmitフォームが送信される前。属性値に記述したJavaScriptがtrueを返す場合はフォームが送信され、falseを返す場合はフォームが送信されない
    onresetフォームがリセットされる前。属性値に記述したJavaScriptがtrueを返す場合はリセットされ、falseを返す場合はフォームがリセットされない
    onloadWebページがロードされたとき
    onunloadWebページがアンロードされるとき

    ■JavaScriptによるイベントリスナの登録

    HTMLの各要素は表1で示したHTMLタグのイベントハンドラ属性に対応したプロパティを持っており、このプロパティに関数を設定するこができます。この関数のことを「イベントリスナ」と呼びます(イベントリスナといっても普通のJavaScript関数です)。
    以下のコードはイベントリスナを登録する例です。
    // クリック時に呼び出される関数
    function hello(){
    alert('Hello');
    }

    // onclick イベントにイベントリスナを登録
    var button = document.getElementById('button');
    button.onclock = hello;
    このサンプルでは「id属性=button」の要素のonclickプロパティにダイアログを表示する関数を設定しています。document.getElementById()は引数で指定したid属性を持つ要素を取得します。
    上記の方法を用いることで、HTMLとJavaScriptを完全に分離できます。また、JavaScriptから動的にイベントリスナを設定/削除を行ったり、イベントリスナを複数の要素に一括登録したりといったことも容易に行えます。

    ■イベントリスナを登録するタイミング

    イベントリスナを登録するJavaScriptコードは登録する要素よりも後に記述しなければなりません。しかしながら、外部ファイルにJavaScriptをまとめる場合など、必ずしも要素の後にJavaScriptを記述できるとは限りません。そのため、通常のイベントリスナを登録するコードは以下のようにWindowオブジェクト(変数Window)のonloadイベントハンドラを使ってイベントリスナを登録します。onloadイベントはHTMLページの読込みが完了したタイミングで発生するため、イベントリスナを登録する際にHTMLの全ての解析が終わっていることが保証されます。
    window.onload = function() { 
    document.getElementById('button').onclick = listener;
    }

    Window オブジェクト

    WindowオブジェクトはWebブラウザ環境で動作するJavaScriptのグローバルオブジェクトです。Windowオブジェクトは「Window」という変数で参照できます。
    JavaScriptでは、グローバル変数や関数はグローバルオブジェクトのプロパティやメソッドとして定義されます。
    また、WindowオブジェクトはWebブラウザを制御したり、Webページのコンテンツにアクセスしたりするための様々なプロパティやメソッドを提供しています。たとえば、警報ダイアログを表示するalert()関数は、実はWindowオブジェクトのメソッドとして定義されたものです。
    以降ではよく使うプロパティやメソッドの利用方法について説明します。

    ■ ダイアログの表示

    ダイアログ表示をするメソッドには次の3つがあります。
    alert()メソッドは警告ダイアログを表示します。
      ; 
    onclick="alert('こんにちは、' + documnet.form.name.value + 'さん \n' + 'お元気ですか?')" ;
    confirm()メソッドは確認用のダイアログを表示します。[OK]が選択された場合は戻り値がtrue,[キャンセル]が選択された場合は戻り値がfalseになります。
    prompt()メソッドはユーザーからの入力値を取得するためのタイアログを表示します。第1引数には「ダイアログに表示するメッセージ」、第2引数には「初期値」を設定します。空の入力ダイアログを表示するには第2引数に空文字(")を指定します。
    ■相互リンク

    サーバー亭
    高級補正下着
    囲碁ソフト開発
    ===============
    ジュンエール