堀北真希うさぎ
主な作品
アイドルをモデルにした創作キャラクタを用いたイラストの一例とアニメーション動画

ページ案内

JAVAスクリプトに依る警告ダイアログ。

JAVAスクリプトに依る警告ダイアログ・目次。

JAVAスクリプトに依る警告ダイアログについて。

閲覧者が何か間違った操作をした場合や注意が必要な場合に警告ダイアログを出す事も出来ます

JAVAスクリプトに依る警告ダイアログのサンプル。

JAVAスクリプトを実行出来る環境なら、以下のリンクを指定するとダイアログが表示されるでしょう。

実行出来ない環境では何事も無くリンク先に移動します。

ヤフージャパン

JAVAスクリプトに依る警告ダイアログスクリプトのソース。

警告ダイアログの表示を実現するJAVAスクリプト「Alert.js」は以下の通りです。

詳しくは、以下の警告ダイアログスクリプトの流れをご覧下さい。

alertMess=new Array();
alertMess[0]="このリンク先は『しらぎくさいと』外のサイトです。";

function putAlert(key,num) {
    if (key!=10) return(true);
    window.alert(alertMess[num]);
    }

警告ダイアログを出すためのHTML文書側での準備。

警告ダイアログを利用するに当たっては、HTML文書側にも細工が必要になります。

具体的には、警告を出すべき箇所でJAVAスクリプトを起動する仕掛けを施す必要があります。

<script type="text/javascript" charset="shift_jis" src="Alert.js"></script>
<ul>
    <li><a href="http://www.yahoo.co.jp/" onclick="putAlert(10,0)" onkeypress="putAlert(event.keyCode,0);">ヤフージャパン</a></li>
    </ul>

警告ダイアログを出すためのHTML文書の解説。

onclick属性は、アンカーがクリックされた時点で起動するスクリプトを指定します。この場合、「putAlert(i)」という函数を起動する事になります。

本来、キーボードのみでアクセスしている環境も想定してonkeypress属性も指定し、キーボード入力で同じ処理をするようにする事が求められています。

しかしながら、一部ブラウザにはonkeypress属性がカーソル移動のためのTABキーまで拾ってしまうと言う欠陥があり、この場合カーソル移動のつもりでTABキーを押しても、onkeypress属性で指定された処理が実行されてしまう、すなわちカーソル移動が出来なくなると言う問題があります。

このため、onkeypressでは、押下されたキーが適切なキー(ここではENTERキー)以外の場合は処理を中断させると言う前処理が必要になります。

マウス入力と違ってキー入力の場合は、キーコードの判別が必要になります。キーコードは函数の第一引数(event.keyCodeで取得している)として予め与えておきます。一方マウスの場合は、ENTERキーの押下と見なして処理するため、第一引数にENTERキーを意味する「10」を与えておきます。

また、第二引数ではメッセージの番号を与えております。

警告ダイアログスクリプトの流れ。

警告ダイアログスクリプトの流れは、以下のようになります。

  1. 初期設定
  2. 処理本体

警告ダイアログでの初期設定。

警告ダイアログの初期設定部分のソースです。

alertMess=new Array();
alertMess[0]="このリンク先は『しらぎくさいと』外のサイトです。";

警告ダイアログでの初期設定の解説。

まず、alertMess=new Array();で表示させる警告文字列の配列を設定します。続いて警告文字列を 0番目から入れていきます。

警告ダイアログでの処理本体。

警告ダイアログの処理本体部分のソースです。

function putAlert(key,num) {
   if (key!=10) return(true);
    window.alert(alertMess[num]);
}

警告ダイアログでの処理本体の解説。

キーボード入力の場合、呼出側がevent.keyCodeで拾ったキーコードは第一引数keyで受取っております。

一方、マウスクリックの場合はENTERキー入力と見なして第一引数keyには「10」が与えられております。

ここでは、keyがENTERキー以外、すなわち「10」以外の場合は「return(true);」で本来のキーの処理を続けます。

一方それ以外の場合は、window.alert()メソッドで呼出時に指定した番号の警告文を出力するだけです。

しらぎくのウェブサイト作成入門サイトマップ



marguerite.site@gmail.com