クリックするとリロード

[上に] [前に] [次に]
いちま 2000/01/17(月) 19:20:03
過去ログ(すみません、どこか忘れました)にあった

<a href="javascript:parent.location.reload(true)">フレームごとリロード</a>

をやってみたんですが、ローカルでうまく行くのに
サーバーに置くとエラーになるのです。
そのままコピーしてペーストしただけなんですが
なぜでしょう?
(WINのIE5です。)

転送URLを使っているので中身だけリロードできたら良いなと思いまして。

いちま 2000/01/17(月) 19:27:31
../200001/00010029.htm

検索で見つけてきました。
フレームで分割されてるページを全部リロードするスクリプト(?)
なのでしょうか・・ひょっとして。

チャペル 2000/01/17(月) 19:35:52
とりあえず、見た感じで・・・
<a href="javascript:〜
は、
<a href="JavaScript:〜
にしたほうが良いように思います。

それと、
parent.location.reload(true)
は、リロード先をちゃんと指定したほうが良いような・・・。

parent.フレーム名.document.location.reload()
こんなかんじかなぁ?  ↑documentかwindow、どちらだったかはわかりません。もしかしたら、いらないかも・・・。

"フレームごとリロード"
が書いてあるフレームをリロードするのであれば、ただ
location.reload()
とすれば良いかと・・・・(parentいらない)。

かえる 2000/01/17(月) 19:48:30
<a href="javascript:window.location.reload(true)">このフレームのみリロード</a>
です。reload(true)にするとサーバーからリロードされ、reload(false)だとキャッシュからリロードされます。

shin' [E-Mail] 2000/01/17(月) 22:29:41
言い出しっぺshin'です。
javascript:parent.location.reload(true)の、
parentはそのリンクが記述されているフレームの親、
つまり<frameset>が記述してあるウィンドウのリロードなので、
結果的にすべてのフレームがリロードされ、
移動された分割線ももとの位置にもどるというものです。
Netscapeではキャッシュがききすぎるので
フレームの再表示の手段としてデバッグ時に有効です。
http://www4.freeweb.ne.jp/computer/nagasawa/frametest/frametest.html
にサンプルあげました。IE5で動作確認してます。
ただし、1回目に「指定したページが表示できません」のような
JavaScriptエラー以外のダイアログが出ましたが、広告を自動挿入
する際のエラーだと思います。
転送アドレスを利用されているとのことですが、原因はそれかもしれません。
このページが正しく表示できたなら、
・どのようなエラーか(JavaScriptのエラーか否か)
を知らせてください。
できればそのソースをエラーが再現する状態でどこかに
あげてもらえれば幸いです

shin' 2000/01/17(月) 22:34:44
追加。
もしかしてフレームじゃないウィンドウをリロードしようとしてるのでは?
そのときはparentは当然要りません。

いちま 2000/01/18(火) 04:21:23
[[解決]]
レスありがとうございました!

shin'さんのスクリプトの「このページだけ」で問題無くリロードできました。
転送用のURLがずっとアドレスバーに表示されているので、フレームに入ってるはずなんですが
「フレームごと」をクリックすると「書きこめません」というエラーが返ってきました。
(何を書きこむんだろうという疑問も湧きますが・・)

とりあえず当初の目的がクリアできましたので解決します。
どうもありがとうございました!

[上に] [前に] [次に]