- ベストアンサー
親ウインドのASPをリロードさせたい
題名通りで、子ウインドをCloseする際に、親ウインドをリロードさせたいんです。 子ウインドで、 <Script Language="JavaScript"> window.opener.location.reload() window.close() </Script> と書いてみたんですけど、変わってる形跡が無いんですー(-_-;)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
書かれているスクリプトをIE5.5で実行したところ問題はありませんでした。 ちなみにフレーム分割もしています。 効果があるかわかりませんが window.opener.self.location.reload(); このように明確にウィンドウを指定して見てください。 window.opener.parent.親ウィンドウ名.location.reload(); これでもうまく行きました。 また、 window.opener.top.location.reload(); これはフレーム画面そのものを更新します。 これでだめならウィンドウの親子関係そのものに問題があるかもしれません。 あと、よろしければ使用ブラウザを教えていただけませんか。
その他の回答 (2)
- wolfwood
- ベストアンサー率50% (199/398)
ASPということで可能性としてはキャッシュを読み込んでいる可能性があります。 JavaScriptとブラウザの問題でリロードしてもキャッシュを読み込むバグがあるらしいです。ネットスケープだとこのバグは報告されています。 IEにもあるとおもいます・・・。 なぜなら、IIS+Perlで同じような現象を経験したからです。 対策としては、<META>タグでno-cacheを指定してキャッシュを残さない設定をしてください。 または、window.location.replace(url)を用いるとキャッシュを残さないで移動できます。 ただし、キャッシュ制御もあいまいな部分があるので完全かどうかはわかりません。
お礼
ご回答、有難うございます。 早速METAタグを使い、location.replaceで試してみたんですが、それでもダメでした... 一度、親ウインドでFunctionを作って試してみたら上手くリロード出来たんですけど、どうしても子ウインドからはリロードしてくれません。 親ウインドがフレームになっているんですが、何か関係あるんでしょうか?
- FlossenEngel
- ベストアンサー率77% (132/170)
window.opener.location.reload(true); ですね。
お礼
ご回答、有難うございます。 試してみたんですが、引数にtrueを入れてみても、ダメでした。 親ウインドがフレーム分割になっているんですが、それだからダメなんでしょうか?
お礼
ブラウザは、IE6なんです。 回答頂ける間に、一からソースを見直していたら、とんでもない間違いに気がつきました。良く似た名前、内容のソースがあって、どうやら今まで別のソースで試行錯誤していたみたいなんです.....申し訳ありませんでした!! でも、キャッシュが関係していてMetaタグで回避出来る事とか、一つのreloadに関して、書き方が色々ある事を勉強させて頂けたので、とても有り難く思っています。 謝謝m(__)m