【JavaScript】Windowオブジェクトの操作方法
新しいウィンドウを開く
open( )メソッドは新しいウィンドウを開くことができます。指定したURLのページを開いてみます。
//open("URL","ウィンドウ名(省略するときは「""」),オプション" myWin = open("http://www.google.co.jp/","new","menubar = 1"); //オブジェクトmyWinのウィンドを閉じます //myWin.close();
オプションでウィンドウの設定を変えることができます。例えば、"menubar = 1"と指定すると、メニューバーのみが表示され、メニューバー以外のバーは表示されなくなります。
オプション | 働き |
---|---|
location = "1 or 0" | ロケーションバーの表示(1)、非表示(0) |
menubar = "1 or 0" | メニューバーの表示(1)、非表示(0) |
scrollbars = "1 or 0" | スクロールバーの表示(1)、非表示(0) |
status = "1 or 0" | ステータスバーの表示(1)、非表示(0) |
toolbar = "1 or 0" | ツールバーの表示(1)、非表示(0) |
resizable = "1 or 0" | ウィンドウのサイズ変更可(1)、不可(0) |
width = "数値" | ウィンドウの幅 |
height = "数値" | ウィンドウの高さ |
※1または0を指定するオプションで1を指定すると、それ以外の値指定のないオプションは0が指定されたとみなされます。
確認ダイアログボックスを表示する
confirm( )メソッドをつかって確認ダイアログを表示させます。confrim( )の確認ダイアログに表示される「OK」ボタンを選択するとtureが返されます。function()内で条件分岐if文をつかった処理を記述してみます。
<html> <body> <h2>Windowオブジェクト</h2> <!-- リンクをクリックするとmyEventがイベント処理されます--> <a href="javascript:void(0)" onclick="myEvent()">リンク</a> <script type="text/javascript"> //myEventを関数化 function myEvent(){ //変数の宣言 var message = "Googleを開きますか?"; //条件分岐(OK → Google、キャンセル → 「キャンセルされました」) //confirm( )はOKを選択するとtureを返します if(confirm(message) == true){ open("http://www.google.co.jp/","new","menubar = 1"); }else{ alert("キャンセルしました"); } } </script> </body> </html>
文字入力ダイアログを表示する
prompt( )メソッドをつかって文字入力ダイアログを表示させます。prompt( )の文字入力に表示される「OK」ボタンを選択すると文字列が返されます。「キャンセル」ボタンを選択すると"null"が返されます。
//prompt()メソッドで文字入力ダイアログを表示する prompt("お名前は?","鈴木です");
function()内で条件分岐if文をつかった処理を記述してみます。
<html> <body> <h2>Windowオブジェクト</h2> <script type="text/javascript"> //myEventを関数化 function myEvent(){ //変数の宣言(prompt():OK→文字列を返します、キャンセル→nullを返します) var name = prompt("お名前は?",""); //条件分岐(変数nameが空でなければ入力した文字列を表示) if(name != ""){ document.write("ようこそ、" + name + "さん"); } } </script> </body> </html>
タイマーを設定・解除する
指定した時間に繰り返し処理を行うには、setInterval( )メソッドを使います。
//setInterval("実行する処理を指定","時間をミリ秒で指定します(1秒=1000ミリ秒)") myTime = setInterval("alert('5秒経過しました')",5000); //タイマーを解除するには、 //clearInterval(mytime);
Date( )オブジェクトをつかって、現在の日時を5秒毎に更新してみます。
<html> <body> <h2>Windowオブジェクト</h2> <script type="text/javascript"> now = new Date(); document.write(now); mytime = setInterval("location.reload()",5000); </script> </body> </html>