- ベストアンサー
画面のリフレッシュを意図的に行いたい
Metaタグを使用せずに画面リフレッシュをしたくって、 以下のプログラムを作成したのですが、 上手く動作しません。 やりたいこととしては、以下の3つです。 ・METAタグの使用はしたくない(都合上使用できない)。 ・必ずMain_LOAD()をコールした後にリフレッシュさせたい。 ・★処理を行った後にrefreshTest.aspをリフレッシュしたい。 ---ASPファイル refreshTest.asp ここから-------- <SCRIPT language="JavaScript"> <!-- function refresh() { location.href = "rereload.html"; setTimeout('refresh()', 3000); } // --> </SCRIPT> <% Sub Main_LOAD() On Error Resume Next %> 5秒後に再読み込みします ~ここに色んな処理を記述したい~ <% End Sub %> <SCRIPT language="JavaScript"> <!-- //★処理が終わった時点で、↓を行う refresh(); // --> </SCRIPT> ---ASPファイル refreshTest.asp ここまで-------- 長くなってすみませんが、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
失礼します。 >JavaScript→クライアントスクリプトは理解しています。 残念ながら理解されていればこの質問にはならないと思います。 setTimeoutで呼ばれるプロシージャで再読み込みするのに >必ずMain_LOAD()をコールした後にリフレッシュさせたい。 といっても、Main_LOADはサーバサイドなので この考え方自体が不可能でしょう。 プロシージャ抜きでサーバサイドの先頭から記述すれば リフレッシュ時の最初で動作します。
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
>★処理を行った後にrefreshTest.aspをリフレッシュしたい。 と >location.href = "rereload.html"; が矛盾しているんですが、refreshTest.aspをリフレッシュしたいのか、rereload.htmlに飛ばしたいのかどちらでしょう? 前者ならば >location.href = "rereload.html"; ではなく、 >location.reload(); で良いような気がします。 後者ならそれで動くはずです。(JavaScriptをOffにされていなければ) ちなみにASPはサーバサイドスクリプトでJavaScriptはクライアントスクリプトだと言うことは理解されていますか? >必ずMain_LOAD()をコールした後にリフレッシュさせたい。 この辺りから怪しい感じがするのですが・・・
お礼
回答有難うございます。 やっぱり、JavaScriptをちゃんと理解していなかったみたいです。
補足
すみません。条件が足りていなかったのと、記述ミスがありました。 location.href = "rereload.html"; ではなく↓です。 location.href = "./asp_main.asp?Id=aaa"; ・リフレッシュ対象は、asp_main.asp?Id=aaa です。 結果的に、条件■により、MainLoad()が、n秒毎リフレッシュされるようになりたい。 ----rereload_main.asp ここから------------- <% ~処理省略~ '条件■の時、↓の処理を行う Call Main_LOAD() ~処理省略~ %> ----rereload_main.asp ここまで------------- JavaScript→クライアントスクリプトは理解しています。 「条件■」には、クライアントが設定したり、選択した条件を いれる予定です。 上手く説明できているでしょうか。 宜しくお願い致します。
お礼
そうですね。 ちゃんと理解していなかったです。 プロシージャ抜きで考えてみますね。
補足
Main_LOAD()処理の一番最後で、 setTimeout("refuresh(aaa)",5000)を実行して スクリプトrefuresh()内で、以下の処理を行うようにしました。 Form.action= "./rereload_main.asp?Id=aaa"; Form.target = "main2"; Form.method = "POST"; Form.submit(); POSTで渡しているのですが、なぜかId=aaaの情報も 取得できています。 いいのかな? なんて疑問はありますが、 それはまた別に調査します。