一定時間でページ遷移

<Script language="JavaScript"> <!-- function jumpPage(){ location.href = "http://www.abc.co.jp/"; } //--> </Script> </HEAD> <BODY onLoad="setTimeout('jumpPage()',10000)"> このページは移動しました。<BR> 10秒後に自動的にジャンプします。<BR> ジャンプしない場合は<A href="http://www.abc.co.jp/">コチラ</A>をクリック

周期的にリロード

ページを周期的に呼び出す場合、サーバ側からブラウザに対して自動的にページを送るということは出来ないので、ブラウザから呼び出します。

METAタグ <meta http-equiv="Refresh" content="5"> JavaScript <script language="JavaScript"> timer=setInterval("location.reload()", 5000); </script>

子ウィンドウから親ウィンドウの制御

子ウィンドウから親ウィンドウの要素を参照する場合は、window.opener.document.getElementById(id)で取得します。


親ウィンドウ function showWindow(){ window.open('opener-2.html','help','width=300,height=150'); } <form action="#"> <input type="button" value="ウィンドウ表示" onclick="showWindow()" /> <br /> <select id="pullmenu" size="4"> <option>example1</option> <option>example2</option> <option>example3</option> </select> </form> 子ウィンドウ function change(no){ var menu = window.opener.document.getElementById("pullmenu"); menu.selectedIndex = no; } <form action="#"> <input type="radio" name="menu" onclick="change(0)" />example1 <input type="radio" name="menu" onclick="change(1)" />example2 <input type="radio" name="menu" onclick="change(2)" />example3 </form>

サブウィンドウに出力

ドキュメントを出力する手順
(1)document.open() --- 省略可
(2)document.wirte()
(3)document.close() --- 省略不可

function subWinOpen(){ yourName = document.myForm.userName.value; subWin = window.open("","subWin01","left=10,top=10,screenX=10,screenY=10,width=220,height=200"); subWin.document.open(); subWin.document.write("<TITLE>Welcome</TITLE>") subWin.document.write("<CENTER>"); subWin.document.write("あなたのお名前は<BR><FONT color='#0000FF'><b>"+yourName+"さん</b></FONT><BR>ですね?<BR><BR>"); subWin.document.write("</CENTER>"); subWin.document.close() } <FORM name="myForm"> お名前をどうぞ: <INPUT type="text" name="userName"><BR><BR> <INPUT type="button" name="fix" value="決定" onClick="subWinOpen()"> </FORM>

サブウインドウの判定

現在のウインドウが、スクリプトが開いたのか、ユーザが開いたのかを判定するには、openerの値や型を調べます。
ユーザが開いたウインドウの場合はopenerプロパティはnullになります。

if (typeof window.opener == "object") { // スクリプトによって開かれたサブウインドウの処理 }

全てのサブウィンドウを閉じる

他のページに移る前に全てのサブウィンドウを閉じる。
手順
(1)表示したwindowオブジェクトを配列に保存する。
(2)他のページに移った時に配列に保存された全てのwindowオブジェクトに対して、close()メソッドを呼び出す。

// ページのアンロード時に呼び出される関数closeWindowをセット window.onunload = closeWindow; // 表示したウィンドウを保存する配列 var newWin = new Array(); // ボタンクリック時に呼び出される関数 function showWindow(){ newWin[newWin.length] = window.open('close-2.html', '', 'width=300,height=150'); } // ページのアンロード時に呼び出される関数 function closeWindow(){ for(var i=0; i<newWin.length; i++){ newWin[i].close(); } } <form action="#"> <input type="button" value="ウィンドウを表示" onclick="showWindow()" /> </form> 他のページに移ると、サブウィンドウは消えます。 <a href="nextPage.html">他のページ</a>