解決済み

JavaScriptでのリロードについて

  • すぐに回答を!
  • 質問No.8129268
  • 閲覧数436
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 48% (18/37)

ネットで調べていましたが解決する事ができませんでしたので投稿しました。
宜しくお願いします。

ページ間の制御について質問します。
Aページから別ウィンドウを開いてBページを表示しています。

Bページではデータの入力画面→確認画面→完了画面の流れで処理をしています。
Bページの完了画面には別ウィンドウでCページを表示するボタンがあります。
※Cページを表示する際にBページを閉じています。

Cページではファイルのアップロード画面→確認画面→完了画面の流れで処理をしています。
Cページの完了画面にはCページを閉じてAページをリロードしていますがうまく更新できません。

JavaScriptのソースは下記の通りです。

if(!window.opener || window.opener.closed){
}
else{
 window.opener.location.reload();
}
window.close();

※このJavaScriptはCページのボタンのonClickに指定しています。

試しに単体で下記のJavaScriptのソースを指定してみましたが駄目でした。

window.opener.opener.location.reload();

どのようにすればCページを閉じてAページをリロードする事ができますか。
似たような内容で申し訳ありませんがご教授、宜しくお願いします。
では、失礼します。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 56% (83/147)

Cページから見て親ページはBページなので、CページからはAページをリロードできません。
次の制御で実現できるかもしれません。
(1)BページをAページと同じウィンドウで開いて
(2)BペイジからCページを別ウィンドウ(子ウィンドウ)で開く
(3)同時にBページのウィンドウをAページに戻す
(4)Cページを閉じるときにAウィンドウをリロード
お礼コメント
T-k_jp

お礼率 48% (18/37)

返事が遅くなってすみません。
回答、ありがとうございます。
なるほど。
理解出来ました。

なので下記のように対応しました。
Bページを表示しているウィンドウを閉じないで、このウィンドウにCページを表示する事で対処いたしました。

大変、勉強になりました。
投稿日時 - 2013-06-12 14:16:10

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 37% (183/489)

サブウィンドウBの親はAだけどサブウィンドウCの親はB
だけどBが閉じていなくなってる。
だからCからAがいじれない状態。

全体の流れがわからないから何ともいえないけど

AからBを開いて完了画面まで流れてCを表示するボタンでサブウィンドウを開くんだと思うけど、
そのサブウィンドウを開く関数をAに用意したらどう?
Bの完了画面でwindow.opener.openC()みたいな感じで
そうすればCはAから呼ばれたことになるからwindow.openerでAのリロードを実行できると思うよ。
お礼コメント
T-k_jp

お礼率 48% (18/37)

返事が遅くなってすみません。
分かりやすい説明ありがとうございます。
大変、勉強になりました。
投稿日時 - 2013-06-12 14:16:23
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ