• ベストアンサー

画面のリフレッシュを意図的に行いたい

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 ここまで-------- 長くなってすみませんが、宜しくお願い致します。

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

  • ベストアンサー
  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.2

失礼します。 >JavaScript→クライアントスクリプトは理解しています。 残念ながら理解されていればこの質問にはならないと思います。 setTimeoutで呼ばれるプロシージャで再読み込みするのに >必ずMain_LOAD()をコールした後にリフレッシュさせたい。 といっても、Main_LOADはサーバサイドなので この考え方自体が不可能でしょう。 プロシージャ抜きでサーバサイドの先頭から記述すれば リフレッシュ時の最初で動作します。

i_yuari
質問者

お礼

そうですね。 ちゃんと理解していなかったです。 プロシージャ抜きで考えてみますね。

i_yuari
質問者

補足

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の情報も 取得できています。 いいのかな? なんて疑問はありますが、 それはまた別に調査します。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

>★処理を行った後にrefreshTest.aspをリフレッシュしたい。 と >location.href = "rereload.html"; が矛盾しているんですが、refreshTest.aspをリフレッシュしたいのか、rereload.htmlに飛ばしたいのかどちらでしょう? 前者ならば >location.href = "rereload.html"; ではなく、 >location.reload(); で良いような気がします。 後者ならそれで動くはずです。(JavaScriptをOffにされていなければ) ちなみにASPはサーバサイドスクリプトでJavaScriptはクライアントスクリプトだと言うことは理解されていますか? >必ずMain_LOAD()をコールした後にリフレッシュさせたい。 この辺りから怪しい感じがするのですが・・・

i_yuari
質問者

お礼

回答有難うございます。 やっぱり、JavaScriptをちゃんと理解していなかったみたいです。

i_yuari
質問者

補足

すみません。条件が足りていなかったのと、記述ミスがありました。 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→クライアントスクリプトは理解しています。 「条件■」には、クライアントが設定したり、選択した条件を いれる予定です。 上手く説明できているでしょうか。 宜しくお願い致します。

関連するQ&A

  • META タグでページをリフレッシュさせると JavaScript の関数が呼べません

    【環境】 WindowsNT、IE5.50 HTML の META タグを使用して、60秒ごとにページをリフレッシュさせたいのですが、以下のように記述すると JavaScript の関数(go_next)を呼ぶことができません。 JavaScript の関数(go_next)を呼ぶには、「<A HREF="JavaScript:go_next(1);">リンク先</A>」と記述しています。 ---------------------------------------------------------------------- <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=shift_jis"> <META HTTP-EQUIV="refresh" CONTENT="60;"> <TITLE></TITLE> <BASE TARGET="_self"> <SCRIPT LANGUAGE="JavaScript"> <!-- function go_next(fm) {    ~(略)~ } // --> </SCRIPT> </HEAD>    ~(略)~ ---------------------------------------------------------------------- JavaScript でも、関数でなければ使用できるのですが・・・。 何かよい方法はありませんか? よろしくお願いします。

  • チャットのリフレッシュについて

    添付画像のようなチャットにおきまして、 上下フレーム→下フレーム→右フレームのchatbody.php ファイルを、チャットのメッセージ表示のメイン画面にしていて、 5秒ごとに、自分自身にジャンプ(リフレッシュ)しているのですが、 自分からメッセージを何か書きこまないと、リフレッシュが始まりません。 (chatbody.php)よって、まずチャットの相手が何か書いても、リフレッシュしない ので、表示されません。自分がアクションを起こさないと相手が先に書いた メッセージが表示されません。 こういう場合の、お気に入りからこのチャットのページを選択して表示した 初期状態から、cahtbody.html のフレームのみを、自動でリフレッシュ開始する ためのHTMLって、どう書けばよろしいのでしょうか? ※自分はchatbody.htmlのmetaタグで、下記のように記述しております。 <meta http-equiv="refresh" content="5; url=chatbody.php">

    • ベストアンサー
    • HTML
  • METAタグのrefreshでサイト引越し

    サイトを移転したいと思っています。 その際、リダイレクトしたいのですが、 .htaccessが使えないので、METAタグを使ってリダイレクトしたいと思っています。 初めての経験でよくわからないのですが、 ページランク等は引き継げるのでしょうか…。 又、アップしている全てのページにMETA refreshタグを付ければよいのでしょうか。 それともトップページだけに付ければよいのでしょうか。 もし全てのページにMETA refreshを付けるとすると 現トップページ hogehoge.com/hoge/ ↓ 転送先 mokemoke.com/ トップページ以外のページは hogehoge.com/hoge/aaa.html ↓ トップページに転送せずに各々のページへ転送 mokemoke.com/aaa.html このようにすればよいのでしょうか。 あまり詳しくないので困っています。 又、META refreshを使う上で気をつけるべき点があれば 教えていただけると幸いです。 間違えると正しくページランク等を引き継げないと聞いたので、不安です。 どなたか詳しい方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • javascriptの分岐について質問です

    HPのトップページ(/index.html)にアクセスされた時に相手のブラウザがjavascriptに対応しているか非対応かでページを自動で分けたいのですが自分で調べたところ2つの方法を見つけました。 ◆<SCRIPT LANGUAGE="JavaScript"> <!--- To hide JavaScript from old browsers var delay = 1 function nextPage() {timerId = setTimeout("changePage()", delay)} function changePage() {location = "JAVA scriptを使ったページのアドレス"}// ---> </SCRIPT> ※以上のコマンドをHTMLのHEADタグの中に入れます。 (<>は全て半角に直してください) ※次にBODYタグの最後あたりにonLoad="nextPage()"と記入すれば完成です。 これは本文内に次の一行を入れるだけです。 <META HTTP-EQUIV="refresh" CONTENT="1; URL="JAVA scriptを使っていないページのアドレス"> という方法と ◆<!--<head>~~</head>に貼り付けてください <meta http-equiv="refresh" content="10;url=javaoff.htm"> <SCRIPT LANGUAGE="JavaScript"> <!-- location.href="javaon.htm"; //--> </script> ソース中の赤文字の部分はご自分で変更してください という方法です。どちらも試してみたのですが、javaのオフの仕方が分からないのでそっちは確認しておりませんがjava対応で見てみるとどちらの方法も何秒かごとにカチッと画面を再び読み込み同じページ(javaバージョン)に戻ることを繰り返します。ちなみにメインのjavaを使っているページがindex.htmlでjavaを使っていない方はno-index.htmlで、どちらも同じ階層です。そしてindex.htmlの方に上記のソースを書いています。ファイル名はindex.htmlとno-index.htmlと変えていますがどこがおかしいのか分かりません。お分かりの方助言をお願いいたします。

  • メタタグを使わないリフレッシュ方法

    こんにちは。 メールフォームをPHP1ページで作りました。 フォーム→確認画面→送信完了(ありがとう)画面という流れです。 質問は、最後の送信完了10秒後に自動的に画面をリフレッシュさせる方法についてです。 <meta http-equiv='refresh' content='10;url=.....'>で出来ますが、 知っての通りメタタグは、Head間に書くのが普通です。 ですが、現在はやむを得ず、Body間に書いています。 そこで、JavaScriptか何かで同様な事ができないか、教えて下さい。 よろしくお願いします。

  • Metaタグのrefreshでジャンプした後に元の画面へ戻れなくするには

    (1)1.html ⇒ (2)2.html ⇒ (3)3.html という画面遷移があり、(2)⇒(3)はmetaタグのrefreshにより自動的に遷移させ、ブラウザの「戻る」ボタンで(3)⇒(1)の遷移を行えなくしたいと思っています。 2.html のソースを以下の通り作成すると自動的に3.htmlに遷移するのですが、「戻る」ボタンで(1)1.htmlへ戻れてしまいます。(「戻る」ボタンの▼内のリストに2.htmlが存在しません) ====2.html==== <html> <head> <meta HTTP-EQUIV="refresh" CONTENT="0;URL=3.html"> </head> <body></body> </html> ====/2.html==== CONTENT="1" とすると、「戻る」の動作は(3)⇒(2)となり、また自動的に3.htmlへ遷移します。 同じ様な仕掛けで、この要件を実現しているサイトのソースを参考にしてこちらの環境で行うと実現できません。 apache の設定等が影響しているのでしょうか。そうであれば設定方法等わかる方、ご教授ください。 また、この要件を実現する別の方法があれば教えてください。

    • ベストアンサー
    • HTML
  • 自動リロード(refresh)時に画面上に行くのを止めたい

    今、phpとmysqlを使用してデータベースの内容をhtmlで 表示するものを作っています。 現在<meta http-equiv="Refresh" content="10">を使用して 10秒でペ-ジを更新させていますが、更新後ページの上にきてしまいます。 回避法などをネットで検索してみましたが見つかりませんでした。 javascriptを使用してもいいので見ている部分を保持したまま、 自動更新できる方法を教えてください。

  • JavaScriptのオン/オフの使い分け

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="refresh" content="3;url=jtestOFF.html"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>JavaScriptのオン/オフ状態に応じて表示するページを変える</title> <script Language="JavaScript"> <!-- location.href = "jtestON.html"; // --> </script> </head> <body> しばらく、お待ちください。 </body> </html> 上記タグは某サイトの例文をコピペしたのもです。 http://time3.sakura.ne.jp/sub/QandA/diary/jscheck1.html 正しく動作するのですがJavaScriptがオンの時 ブラウザの「戻る」をクリックしてもページが元のページに戻りません。 何か良いお知恵はないものでしょうか?

  • 自動的にもとのページに再読み込みで戻りたいんです

    AとB、2つのページがあります。もともとは、AからBに行くとMETAタグのrefreshで、Aに戻るようにしていたのですが、それだとブラウザのキャッシュを読んでしまうんで、いまはBに <SCRIPT Language="JavaScript"> <!-- document.write("戻る".link(document.referrer)); // --> </SCRIPT> という戻るボタンをつけています。 これだと前のページを再読み込みしてくれるのですが、 1手間多くなるのでやっぱり自動的に戻ってほしいんです。 自動的にもとのページを再読み込みするようにするには どうすれば良いのでしょう。 どうか教えて下さい。

  • i-modeサイトでRefreshさせるには

    i-modeでサイトを制作しているのですが、ドメインを取得したので、訪れたユーザを自動的に移動させたいと思っています。 普通、<meta>タグのRefreshを使用すると思うのですが、i-modeでは使えないようです。クライアント側で移動させることは出来ないのでしょうか? サーバサイドで処理しないといけないのでしょうか? 是非、お教え下さい。お願い致します。

    • ベストアンサー
    • HTML