JavaScriptで子画面から親画面の画面遷移をコントロールする
親画面からナビゲーションとなる子画面を開き、その子画面を操作することで親画面を切り替えるという処理は、たまに実装しますが、その都度「どうだったっけ?」と調べてしまいます。。。そういうわけで覚書です。
例えば親画面をYahooに切り替えたい場合は、子画面のリンクに以下のように記述します。
<a href="javascript: void(0);" onclick="opener.location.href='http://www.yahoo.co.jp/';">Yahoo! Japan</a>
hrefにvoidを入れるのは、リンクとしての動作を抑制する意味があります。つまり、子画面自信は遷移せずに、onclickのjavascriptを実行することになります。
また、子画面に以下のような記述をすれば、子画面を閉じたときに親画面を遷移させることができます。
<body onUnload="opener.location.href='http://www.yahoo.co.jp/';">
少し話は反れますが、その他にもopenerでは呼び出し元の画面のさまざまな情報にアクセスすることもできます。
alert(opener.document.bgColor);
使い方によっては、いろいろと便利なことができそうですね。
コメントする