JavaScriptのwindow.opener・closed・nameとは?親ウィンドウの参照やウィンドウ状態の確認方法を解説
window.opener、window.closed、window.name は、
ウィンドウ同士の関係を扱うためのプロパティです。
新しく開いたウィンドウ(サブウィンドウ)と、元のウィンドウ(親ウィンドウ)間で情報をやり取りする際に利用します。
window.openerとは?
window.opener は、現在のウィンドウを開いた「親ウィンドウ」を参照するプロパティです。
サブウィンドウから親ウィンドウの情報にアクセスしたいときに利用します。
使用例:親ウィンドウのURLを取得する
→ 親ウィンドウのリンク先(location)が変数 parentLoc に代入されます。
window.closedとは?
window.closed は、指定したウィンドウが閉じているかどうかを判定するプロパティです。
- true:閉じている
- false:閉じていない
ユーザーがサブウィンドウを閉じたかどうか確認したいときに便利です。
使用例:ウィンドウが閉じているか確認する
alert(“閉じています”);
}
→ newWin が閉じていた場合にダイアログを表示します。
window.nameとは?
window.name は、ウィンドウの名前を参照・設定するプロパティです。
→ ウィンドウ newWin の名前が変数 wName に代入されます。
ウィンドウ名は window.open() の第2引数で指定した名前と一致します。
3つのプロパティの関係まとめ
- opener:自分を開いた親ウィンドウを参照
- closed:ウィンドウが閉じているかどうかを判定
- name:ウィンドウ名の取得・設定
これらを組み合わせることで、
親ウィンドウとサブウィンドウ間の連携がスムーズに行えます。