プロが教える店舗&オフィスのセキュリティ対策術

題名通りで、子ウインドをCloseする際に、親ウインドをリロードさせたいんです。
子ウインドで、
<Script Language="JavaScript">
window.opener.location.reload()
window.close()
</Script>
と書いてみたんですけど、変わってる形跡が無いんですー(-_-;)

A 回答 (3件)

書かれているスクリプトをIE5.5で実行したところ問題はありませんでした。


ちなみにフレーム分割もしています。

効果があるかわかりませんが

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

このように明確にウィンドウを指定して見てください。

window.opener.parent.親ウィンドウ名.location.reload();

これでもうまく行きました。
また、

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

これはフレーム画面そのものを更新します。
これでだめならウィンドウの親子関係そのものに問題があるかもしれません。
あと、よろしければ使用ブラウザを教えていただけませんか。
    • good
    • 0
この回答へのお礼

ブラウザは、IE6なんです。
回答頂ける間に、一からソースを見直していたら、とんでもない間違いに気がつきました。良く似た名前、内容のソースがあって、どうやら今まで別のソースで試行錯誤していたみたいなんです.....申し訳ありませんでした!!
でも、キャッシュが関係していてMetaタグで回避出来る事とか、一つのreloadに関して、書き方が色々ある事を勉強させて頂けたので、とても有り難く思っています。
謝謝m(__)m

お礼日時:2002/08/01 16:08

ASPということで可能性としてはキャッシュを読み込んでいる可能性があります。


JavaScriptとブラウザの問題でリロードしてもキャッシュを読み込むバグがあるらしいです。ネットスケープだとこのバグは報告されています。
IEにもあるとおもいます・・・。
なぜなら、IIS+Perlで同じような現象を経験したからです。
対策としては、<META>タグでno-cacheを指定してキャッシュを残さない設定をしてください。
または、window.location.replace(url)を用いるとキャッシュを残さないで移動できます。
ただし、キャッシュ制御もあいまいな部分があるので完全かどうかはわかりません。
    • good
    • 0
この回答へのお礼

ご回答、有難うございます。
早速METAタグを使い、location.replaceで試してみたんですが、それでもダメでした...
一度、親ウインドでFunctionを作って試してみたら上手くリロード出来たんですけど、どうしても子ウインドからはリロードしてくれません。
親ウインドがフレームになっているんですが、何か関係あるんでしょうか?

お礼日時:2002/08/01 13:53

window.opener.location.reload(true);


ですね。
    • good
    • 0
この回答へのお礼

ご回答、有難うございます。
試してみたんですが、引数にtrueを入れてみても、ダメでした。
親ウインドがフレーム分割になっているんですが、それだからダメなんでしょうか?

お礼日時:2002/08/01 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています