JavaScript講座
(メールマガジン編)
12/26日発行 ヨッシーの”ホームページを作ろう!(JavaScript編)”★Vol.25★
| ウィンドウの操作V |
前回は元のウィンドウ(親)から新しいウィンドウ(子)を操作する命令をやったね。
(親) ⇒操作⇒
(子)
今回は逆にその開いた子ウィンドウから元の親ウィンドウを操作する方法をやってみよう。
(子) ⇒操作⇒
(親)
(※新しいウィンドウを子ウィンドウ、ウィンドウを出した元のウィンドウを親ウィンドウとする。)
| ★ 親のウィンドウを操作する ★ |
前回のように、今回は親ウィンドウに名前を付ける必要はないよね。
だって、ある新しいウィンドウを呼び出した親ウィンドウというのは1つしかないよね。
だから、親ウィンドウを操作するための命令は決まっているんだ。
これまで、いろいろと勉強してきた中でだいぶわかってきたと思うので、今回は1つの文法を教えて、あとはみんなに考えてもらおう。
といっても、そんなに難しいことではないよ。
親ウィンドウを操作するための命令は、
親ウィンドウを操作する |
window.opener.命令 |
これを見てわかるかな?
つまり、window.openerというのが親ウィンドウを指していて、命令で命令を与えているんだね。
これだけでは、もうひとつわかりにくいと思うので、
少しだけ命令の例をあげてみよう。
| history.back() | :一つ前のページに戻る |
| history.forward() | :一つ先のページに進む |
| history.go(数字) | :数字の分だけページを移動する |
| home() | :ホームに戻る |
だったよね。
これは、現在のページを操作する時に使う命令だったね。
実はこれを正しく書くと、現在のウィンドウを表すwindowというのを使って
window.history.back();
となるんだ。
けれど、わざわざwindowとかくのは面倒臭いので省略していたんだったね。
今回は、現在のウィンドウを開いた元の親ウィンドウを操作するので、
親ウィンドウを表すwindow.openerというのを使って、
window.opener.history.back();
とすればいいんだね。
(※親ウィンドウ(window.opener)を一つ前のページに戻す(history.back())という意味)
また、親ウィンドウに文字を書きたいときは、document.write()と組み合わせて、
window.opener.document.write();
とすれば、子ウィンドウの操作によって親ウィンドウに文字を書くことができるんだ。