サブウィンドウは、メインウィンドウの補助として特定の情報を表示するのに有効な手段ですが、そのまま表示を続けると、訪問者の妨げになってしまいます。ここでは、一定時間が経過すると自動的にウィンドウを閉じる方法について考えてみましょう。
ウィンドウを一定時間後に閉じるには、サブウィンドウのHTML文書にウィンドウを閉じるまでの時間をJAVA Scriptで定義します。<HEAD >
<META HTTP-EQUIP="Content-type" CONTENT="text/html; charset=Shift-JIS">
<TITLE>Shirley's JAVA Script Trial</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function openWin(){
window.open("subwindow.htm","","width=300,height=300,");
}
//-->
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0" onLoad="openWin()">JAVA Scriptには、ページが読み込まれた、マウスボタンがクリックされたなどの特定の動作が行われたタイミングを検出するてめのイベントハンドらが用意されています。イベントハンドラは、特定のタグ内で次のように記述することで特定の動作が起こったときに任意のプログラムを実行することができます。
<タグ名 イベントハンドラ名 = 実行するプログラム>ウィンドウを閉じるまでの時間は、イベントハンドらの「onLoad」で「setTimeout」メソッドを呼び出すことで指定することができます。
ウィンドウが表示されてから閉じるまでの時間を1000分の1秒単位で指定することができるので、サブウィンドウに表示する内容によって閉じる時間を調整し、メインウィンドウの表示の妨げにならないように設定します。サブウィンドウはあくまでも補足的な情報を表示するために表示し、メインウィンドウの妨げにならないように配慮することが大切です。そのためにもサブウィンドウを画面端に表示する設定を行っておくと良いでしょう。サブウィンドウを画面端に表示するには、サブウィンドウのHTML文書のヘッダー部分に次のように記述します。
<SCRIPT LANGUAGE="JavaScript">
<!--
window.moveTo(50,0);
//-->