## ウィンドウ（Window）

[up] [prev] [next]

#### ■ 一覧

alert(), atob(), back(), blur(), btoa(), captureEvents(), clearInterval(), clearTimeout(), clientInformation, close(), closed, confirm(), defaultStatus, dialogArguments, dialogHeight, dialogLeft, dialogTop, dialogWidth, disableExternalCapture(), enableExternalCapture(), execScript(), find(), focus(), forward(), handleEvent(), home(), innerHeight, innerWidth, locationbar, menubar, moveBy(), moveTo(), name, offscreenBuffering, open(), opener, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, personalbar, print(), prompt(), releaseEvents(), resizeBy(), resizeTo(), returnValue, routeEvent(), scroll(), scrollBy(), scrollTo(), scrollbars, self, setInterval(), setTimeout(), showHelp(), showModalDialog(), status, statusbar, stop(), toolbar, top, window

#### ■ ウィンドウオブジェクト

◆ window (e3/N2)

自分自身のウィンドウオブジェクト（ウィンドウやフレームの総称）を示します。<script>〜</script> の間では window. を省略することができ、下記の window.top や window.parent は単に top や parent と記述することができます。

◆ window.self (e3/N2)
◆ window.top (e3/N2)
◆ window.parent (e3/N2)

self は自分自身、top はフレーム分割の際のトップ、parent はフレーム分割のひとつ親の、name はその名前を持つウィンドウ（フレーム）オブジェクトを示します。例えば下記の例では、mokuji フレームから見た main フレームの名前は window.top.main または window.parent.main となります。

◆ window.opener (e4/N3)

自分自身を開いた親ウィンドウを示すウィンドウオブジェクトです。親ウィンドウに <form name="FORM1"> の <input type="text" name="TEXT1"> があるとき、下記のようにして親ウィンドウの入力項目に値を設定することができます。

    window.opener.document.FORM1.TEXT1.value = "ABCDEFG";

◆ window.name (e3/N2)

<frame> の name 属性で指定した名前でウィンドウを指定します。例えば、ウィンドウが下記のように2つのフレームに分割されている場合、それぞれのフレーム（ウィンドウオブジェクト）は top.mokuji、top.main で参照することができます。

    <frameset cols="100,*">
     <frame name="mokuji" src="mokuji.html">
     <frame name="main" src="main.html">
    </frameset>

#### ■ ダイアログ表示

◆ window.alert(message) (e3/N2)

message をメッセージとする警告ダイアログを表示します。改行には \n を用います。本来は警告用ダイアログなのですが、手軽にメッセージを表示できるため、実際には警告以外の様々な目的で使用されています。

    window.alert("○○が発生しました!!");

◆ window.confirm(message) (e3/N2)

message をメッセージとする確認ダイアログを表示します。[OK] ボタンを押すと真（true）が、キャンセルボタンを押すと偽（false）が返されます。

    if (window.confirm("よろしいですか？")) {
       document.F1.submit();
    }

◆ window.prompt(message `[, default]`) (e3/N2)

文字列入力ダイアログを表示します。message には説明を、default には文字列の初期値を指定します。入力された文字列は関数の戻り値として返されます。キャンセルボタンが押されると特殊値 null が返されます。

    pwd = window.prompt("パスワードを入力してください。", "");

◆ window.showModalDialog(url `[, arg `[, opt]`]`) (e4)
◆ window.showModelessDialog(url `[, arg `[, opt]`]`) (e4)
◆ window.dialogArguments (e4)
◆ window.dialogHeight (e4)
◆ window.dialogWidth (e4)
◆ window.dialogLeft (e4)
◆ window.dialogTop (e4)
◆ window.returnValue (e4)

url を内容とするダイアログを表示します。arg には数値、文字列、配列などの引数を指定します。opt には dialogWidth, dialogHeight, dialogTop, dialogLeft, center (yes | no) を指定できます。ダイアログ側は dialogArguments により引数を参照可能。ダイアログを閉じる際に returnValue に設定されていた値が showModalDialog() の戻り値となります。

    args = new Array();
    args[0] = "AAA";
    args[1] = "BBB";
    val = showModalDialog("dlg.htm", args,
        "dialogHeight:100px;dialogWidth:300px");

#### ■ ウィンドウ制御

◆ window.focus() (e4/N3)
◆ window.blur() (e4/N3)

focus() はこのウィンドウにフォーカスをあてます。blur() はこのウィンドウからフォーカスをはずします。

◆ window.scroll(x, y) (e4/N3)
◆ window.scrollTo(x, y) (e4/N4)
◆ window.scrollBy(x, y) (e4/N4)

scroll() および scrollTo() は絶対座標で、scrollBy() は現在の位置からの相対座標で x、y の位置に画面をスクロールさせます。scroll() は古い仕様で、過去の互換性のために残されています。

◆ window.resizeTo(x, y) (e4/N4)
◆ window.resizeBy(x, y) (e4/N4)

resizeTo() は絶対座標で、resizeBy() は現在の大きさからの相対座標で、ウィンドウの大きさを x、y に変更します。100×100 よりも小さくすることはできないように、通常は制限されています。

◆ window.moveTo(x, y) (e4/N4)
◆ window.moveBy(x, y) (e4/N4)

moveTo() は絶対座標で、moveBy() は現在の位置からの相対座標で、ウィンドウの位置を x、y の場所に移動します。

◆ window.stop() (N4)

読込みを停止します。

◆ window.print() (e5/N4)

印刷を開始します。

#### ■ ウィンドウ情報

◆ window.name (e3/N2)

ウィンドウの名前を示す文字列（<frame>タグの name 属性や、window.open()関数の第2引数で指定した名前）を返します。

    alert(window.name);
    alert(top.mokuji.name);

◆ window.innerHeight (N4)
◆ window.innerWidth (N4)

ウィンドウの内側（表示領域）の高さと横幅を返します。IEでは document.body.clientHeight, document.body.clientWidth がこの属性に相当します。

◆ window.outerHeight (N4)
◆ window.outerWidth (N4)

ウィンドウの外枠の高さと横幅を返します。

◆ window.pageXOffset (N4)
◆ window.pageYOffset (N4)

スクロールされているときに、ページのどの部分が画面に表示されているかを示す縦・横方向位置を返します。

#### ■ イベント

◆ window.captureEvents(events) (N4)
◆ window.disableExternalCapture() (N4)
◆ window.enableExternalCapture() (N4)
◆ window.handleEvent(event) (N4)
◆ window.releaseEvents(events) (N4)
◆ window.routeEvent(event) (N4)

Netscape Navigator 専用のイベント処理関数群。詳細未稿。

#### ■ タイマ

◆ window.setTimeout(script, msec) (e3/N4)
◆ window.setTimeout(func, msec `[, arg3,...]`) (N4)
◆ window.setTimeout(script, msec, lang) (e5)
◆ window.clearTimeout(timeoutID) (e3/N2)

setTimeout() は msec ミリ秒後に指定した処理を行います。script には JavaScript の構文を、func には関数名を記述します。第3引数は、Internet Explorer の場合は言語名（"JScript"、"JavaScript"、"VBScript"）、Netscape ブラウザの場合は関数への引数を指定します。clearTimeout() は setTimeout() で設定したタイマーを解除します。

    id = setTimeout("func('ABC')", 1000);
    id = setTimeout("func('" + arg + "')", 1000);  // argを渡したいとき
    id = setTimeout(func, 1000, "ABC");                 // Netscapeのみ
    id = setTimeout("func('ABC')", 1000, "JavaScript"); // IEのみ
    clearTimeout(id);

定期的に処理を行うには、後述の setInterval() を用いるか、次のようにします。

    <html>
    <head>
    <title>テスト</title>
    <script type="text/javascript">
    <!--
    function func() {
        alert("TEST");
        setTimeout("func()", 5000);
    }
    // -->
    </script>
    </head>
    <body onload="func()">
      :
    </body>
    </html>

◆ window.setInterval(script, msec) (e4/N4)
◆ window.setInterval(func, msec `[, arg1,...]`) (N4)
◆ window.setInterval(script, msec, lang) (e5)
◆ window.clearInterval(intervalID) (e4/N4)

基本的には setTimeout()、clearTimeout() と同様ですが、指定した処理が msec 毎に定期的に実行されます。

#### ■ ページを開く

◆ window.open(url, name `[, style]`) (e3/N2)

ウィンドウをオープンします。オープンしたウィンドウのウィンドウオブジェクトを返します。document.open() とは別物です。

    w = window.open("test.html", "Test", "width=200,height=200");

url には表示するページのアドレス（URL）を指定します。

name には、<frame> タグの name 属性で指定した名前や、他の open() で作成した名前を指定します。その名前を持つウィンドウがまだ存在しない場合は、その名前を持つ新規ウィンドウが開きます。下記の名前は特別な意味をちます。IE や Netscape Communicator 4.* では、ハイフン（-）を含む名前を指定するとエラーになるようです。

名前 | 意味
--- | ---
_top | フレーム分割の際のトップフレーム（ウィンドウ）。
_blank | 名前無しの新しいウィンドウ。
_self | 自分自身のフレーム（ウィンドウ）。
_parent | フレーム分割の際のひとつ親のフレーム（ウィンドウ）。

style にはウィンドウのスタイルを指定します。n にはピクセル値を、yes | no には yes または no を指定します。複数指定する場合は、width=100,height=50,menubar=no のようにカンマで連結します。カンマの前後にスペースを入れると動作しないブラウザがあるので注意してください。

スタイル | 意味
--- | ---
alwaysLowered=yes|no | [N4] 開いたウィンドウを常に他のウィンドウの下に表示する。ただし、このオプションを用いるにはセキュリティの前準備が必要。
alwaysRaised=yes|no | [N4] 開いたウィンドウを常に他のウィンドウの上に表示する。ただし、このオプションを用いるにはセキュリティの前準備が必要。
channelmode=yes|no | [e4] チャネルモードで開く。
dependent=yes|no | [N4] 親ウィンドウが閉じた時に子ウィンドウも閉じる。
directories=yes|no | [e3/N2] ユーザ設定ツールバーの表示。
fullscreen=yes|no | [e4] フルスクリーンモードで開く。閉じるには ALT+F4 を使う。
height=n | [e3/N2] ウィンドウの高さ。
hotkeys=yes|no | [N4] ホットキーの有効／無効。
innerHeight=n | [N4] ウィンドウの内枠の高さ。
innerWidth=n | [N4] ウィンドウの内枠の横幅。
left=n | [e4] ウィンドウの位置（画面の左端からの距離）。
location=yes|no | [e3/N2] 場所ツールバーの表示。
menubar=yes|no | [e3/N2] メニューバーの表示。
outerHeight=n | [N4] ウィンドウの外枠の高さ。
outerWidth=n | [N4] ウィンドウの外枠の横幅。
personalbar=yes|no | [N2] directoriesと同じ。
resizable=yes|no | [e3/N2] リサイズを可能にする。
screenX=n | [N4] leftと同じ。
screenY=n | [N4] topと同じ。
scrollbars=yes|no | [e3/N2] スクロールバーの表示。
status=yes|no | [e3/N2] ステータスバーの表示。
titlebar=yes|no | [e4/N4] タイトルバーの表示。ただし、このオプションを用いるにはセキュリティの設定(未稿)が必要。
toolbar=yes|no | [e3/N2] ツールバーの表示。
top=n | [e4] ウィンドウの位置（画面の上端からの距離）。
width=n | [e3/N2] ウィンドウの横幅。
z-lock=yes|no | [N4] 開いたウィンドウの上下関係の順序を指定する。ただし、このオプションを用いるにはセキュリティの設定(未稿)が必要。

◆ window.close() (e3/N2)

ウィンドウを閉じます。セキュリティ確保のため、自分自身が開いたウィンドウは警告無しに閉じることができますが、その他のウィンドウを閉じる際は、確認のダイアログが表示されます。

◆ window.closed (e4/N3)

ウィンドウがすでに閉じられているかどうかを示す真偽値を返します。

#### ■ その他

◆ window.forward() (N4)
◆ window.back() (N4)
◆ window.home() (N4)

forward() はヒストリ上ひとつ先のページに、back() はひとつ前のページに、home() はホームボタンを押したときに表示されるページにジャンプします。

◆ window.status (e3/N2)
◆ window.defaultStatus (e3/N2)

status は、ステータスバーに（一時的に）表示する内容。defaultStatus は、他に何も表示するものが無い場合のステータスバーのメッセージを示します。どちらとも設定も可能です。onMouseOver などのイベント発生時にこの値を書き換えたときは、イベントハンドラの戻り値に true を返してやる必要があります。

    <BODY onLoad="window.defaultStatus='ようこそ○○へ'">
    <A HREF="xx.html"
       onMouseOver="window.status='△△にジャンプするよ'; return true;">
       △△</A>

◆ window.menubar.visible (N4)
◆ window.toolbar.visible (N4)
◆ window.locationbar.visible (N4)
◆ window.statusbar.visible (N4)
◆ window.scrollbars.visible (N4)
◆ window.personalbar.visible (N4)

それぞれ、メニューバー（menubar）、ツールバー（toolbar）、ロケーションバー（locationbar）、ステータスバー（statusbar）、スクロールバー（scrollbar）、パーソナルバー（personalbar）が表示されているかどうかを示す真偽値です。参照のみで、書き込みによる変更はできません。

◆ window.clientInformation (e4)

window.navigator と同義です。

◆ window.offscreenBuffering (e4/N4)

オフスクリーンバッファリング機能（スクロールの際の画像表示を早くする機能？）を有効にするかどうかを指定します。起動時は "auto" ですが、これに true | false を代入して機能を制御することができます。

◆ window.execScript(code `[, lang]`) (e4)

codeを JScript の構文として実行します。JavaScript として実行するにはlangに "JavaScript" を指定します。

◆ window.find(`[string `[, case `[, back]`]`]`) (N4)

ウィンドウ内のテキストから string を検索します。string を省略した場合は検索文字列入力ダイアログが表示されます。case に true を指定すると大文字小文字を区別します。back に true を指定すると逆方向に検索します。文字列が見つかると true を返し、さもなくば false を返します。

◆ window.showHelp(url `[, id `[, opt]`]`) (e4)

HTMLヘルプを表示します。

◆ window.atob(str) (N4)
◆ window.btoa(str) (N4)

btoa() は文字列 str を BASE64 エンコーディングした文字列にエンコード、atob() はその逆のデコードを行います。

[up] [prev] [next]
Copyright (C) 1996-2002 杜甫々
改訂版初版：2001年5月20日、最終更新：2002年7月3日
http://www.tohoho-web.com/js/window.htm