

No.1ベストアンサー
- 回答日時:
孫ウィンドウのページ内に、以下のスクリプトを仕掛ければ、良いのではないかと思います。
window.opener.opener.location.reload();
これで、孫ウィンドウから見たopener(子ウィンドウ)の、更にそのopener(親ウィンドウ)に対してリロードをかけることができると思います。
ただ、ご質問の内容から見ると、孫ウィンドウが閉じた時に子ウィンドウがリロードされる仕掛けと、子ウィンドウがリロードされた時に親ウィンドウがリロードされるという仕掛けを入れておいて、孫ウィンドウから子ウィンドウをリロードし、子ウィンドウから親ウィンドウをリロードするという、連鎖的なアクションでも良いかもしれませんね。
こういったアクションでよければ、以下のソースを、子ウィンドウと孫ウィンドウに読み出すそれぞれのHTMLファイルに追加してみてください。
<script type="text/javascript"><!--
function refresher(){
if (window.opener){
window.opener.location.reload();
}
}
window.onunload=refresher;
//--></script>
このスクリプトでは、window.onunloadでページがアンロードされたイベント(リロードやページ移動、ウィンドウを閉じるなどで現状のページが破棄された時)を拾い、指定の処理を実行します。 ここではrefresher()という、親ウィンドウをリロードする関数を指定しています。
これを子ウィンドウ内のHTMLと孫ウィンドウ内のHTMLに仕掛けておけば、子ウィンドウをリロードしたタイミングでも、孫ウィンドウを閉じたタイミングでも、子ウィンドウと親ウィンドウのリロードがかかると思います。
とりあえず、手元で確認した分では、IEとNetscapeでは、期待通りの動作になってくれるのではないかと思います。
参考になれば…
この回答への補足
丁寧な回答ありがとうございました。
アドバイスの方法で目的達成できます。(^O^)
他力本願で申し訳ありませんが、実際に使う場面では、
親→子→孫 のパターンが9割
子→孫 のパターンが1割
あり、「親がない場合は」とかの良い方法はないでしょうか。
ネットを探していたら
opener.closed
をみつけたので、下記のようにして処理できそうです。
お騒がせ致しました。
function refresher(){
if( !opener || opener.closed ) {
alert("親なし");
}
else{window.opener.location.reload();}
}
window.onunload=refresher;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 ファイルエクスプローラーでフォルダを閉じる操作について 2 2022/10/15 11:06
- その他(OS) Mac OSの操作について 2 2022/06/08 09:19
- Illustrator(イラストレーター) ウインドウの固定 1 2022/05/02 17:11
- Chrome(クローム) 最近Win10にてブラウザが左にスッと隠れていく現象に悩まされてます 3 2023/07/22 23:11
- Excel(エクセル) ウインドウ枠とスクロール 2 2022/06/11 21:17
- Chrome(クローム) Google Chromeのブラウザ(PC)ウインドウの移動について 3 2022/07/19 15:14
- その他(OS) MacのFinder操作について 2 2022/07/13 07:29
- PDF Just PDF 5 proでポップアップしたファイル名がつきまとう 2 2022/12/18 09:56
- Excel(エクセル) エクセルで 1行目の固定とE列までの固定ができますか? 7 2022/10/21 04:56
- マウス・キーボード タッチパッドでドラッグしたい 1 2023/08/08 20:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
-
デスクトップ画面を4分割するには
-
ウィンドウの2重起動を防止したい
-
VBAで任意のウインドウのサイズ...
-
外部JSファイルでポップアップ...
-
IEでのみ発生するJavaScriptエラー
-
子ウィンドウより親ウィンドウ...
-
1クリックでモーダルを開いてか...
-
子ウィンドウから親ウィンドウ...
-
window.openした窓の位置は記憶...
-
インタネットからPDFファイルだ...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
ジョークで、ウィンドウが揺れ...
-
子ウィンドウを常に手前表示、...
-
子ウィンドウの存在確認
-
タスクバーに非表示
-
親ウィンドウのメッセージを子...
-
window.Openをモーダルにできま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
デスクトップ画面を4分割するには
-
VBの画面で、全ウィンドウを一...
-
ウィンドウの2重起動を防止したい
-
VBAで任意のウインドウのサイズ...
-
javascriptで開いたウィンドウ...
-
1クリックでモーダルを開いてか...
-
ポップアップと作業ウィンドウ...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
ウィンドウ名からウィンドウオ...
-
子ウィンドウの存在確認
-
子ウィンドウより親ウィンドウ...
-
googleサイトにfacebookのいい...
-
子ウィンドウから親ウィンドウ...
-
初心者javascript グーグルクロ...
-
リンク時、親ウインドウを最前...
-
子ウィンドウから親ウィンドウ...
-
JavaScriptで指定Windowを最大...
-
親ウィンドウから開いた子ウィ...
おすすめ情報