(perl) HTML出力した後、再度同じウィンドウに出力するには?

[上に] [前に] [次に]
茶しぶ男 2000/02/07(月) 16:27:50
print "Content-type: text/html;"
でHTML出力した後に、そのウインドウに表示されているものを消して、再度別の内容(HTML)を出力するのって、どうすればいいのでしょうか?

デコード隊長 2000/02/07(月) 16:54:04
単純に<META>タグでリフレッシュすればよいのかもしれないです。

しなのむし 2000/02/07(月) 20:07:49
もうちょっとつっこむとリフレッシュする際に
<META HTTP-EQUIV="REFRESH" CONTENT="10;URL=xxx.cgi?access=1">
みたいにすれば、どの画面を前回表示してたか分かるでしょう。

そういうことではなくて?

EMI 2000/02/07(月) 21:26:25
蛇足ですが、
>print "Content-type: text/html;"
print "Content-type: text/html; charset=euc-jp\n\n"
などとするべきではないでしょうか?
(CGIで表示する内容が英語ならばかまいませんけど)

茶しぶ男 2000/02/08(火) 08:42:09
> print "Content-type: text/html; charset=euc-jp\n\n"
> などとするべきではないでしょうか?
 質問を短くするために省略しただけで、実際には書いています。

> <META HTTP-EQUIV="REFRESH" CONTENT="10;URL=xxx.cgi?access=1">
 これって、10秒間待ってからスクリプト再起動ですよね…。
 ;の前に指定する最低値は「1」でしたっけ?(0かな?)

 当方がやりたいのは、そのウインドウの再表示を何度もやるという処理なので、この方法だと随分とサーバーに負担をかけてしまうような気がするんですが…。

デコード隊長 2000/02/08(火) 09:45:38
@JavaScriptの方法
<BODY ONLOAD="location.reload()">
↑同じページをリロードします。
<BODY ONLOAD="location.replace('http://www.リロード先')">
↑リロード先を指定できます。

ACGIを使う方法
$RELOAD_FILE = "reload.html";
print "Content-type: text/html\n\n";
    open (FILE, "<$RELOAD_FILE");
    while(<FILE>) {
print $_ ;
    }
    close(FILE) ;
↑として、reload.htmlに<META REFRESH>タグを埋め込む。

などなど。的がはずれてたらゴメンなさい。

びぎな++ 2000/02/08(火) 10:10:31
>;の前に指定する最低値は「1」でしたっけ?(0かな?)
そういうレベルでリロードするんですか?
<MEAT refresh>タグCGI(できたとして)ではサーバー負荷が大きいと思います。

JAVAアプレットなどでできるのかな?

#デコード隊長へ
#丸付文字って機種依存文字ってじゃないんですか?

デコード隊長 2000/02/08(火) 10:28:01
びぎな++ さんへ
>丸付文字って機種依存文字ってじゃないんですか?

知らなかったです・・・。ごめんなさい。
以後気をつけます。

茶しぶ男 2000/02/08(火) 10:40:03
> そういうレベルでリロードするんですか?
> <MEAT refresh>タグCGI(できたとして)ではサーバー負荷が大きい> と思います。

 いえ、リロードは
> ウインドウの再表示を何度もやるという処理なので、この方法だと随分とサーバーに負担をかけてしまうような気がするんですが…。

 なので、使いたくないです。
 単純に一つのスクリプトの中で、リロードもせずに同じウインドウに再表示というのは出来ないもんなのでしょうか…?

無責任官庁 2000/02/08(火) 11:03:47
http://www.tohoho-web.com/wwwxx004.htm
../199809/98090024.htm

クライアントプルがいやならサーバープッシュの手もありますけども、
これはタダじゃ済まない感じですね。(私はよくわかりません)
ネスケオンリーなら、とほほさんのサンプルを見ていただいたら分かるかと。

何を負荷としてみるか、それは人によりますけども、
一回に10の処理を済ませるのがいいか、2の処理を6回やるのがいいか。
(今の話では、前者がサーバープッシュ、後者がクライアントプル)
そういう意味では、クライアントプルの方が負荷の分散にはなりますね。
リクエストが集中すると、サーバープッシュはきついかも。

無責任官庁 2000/02/08(火) 11:11:42
いまとっさに思い付き。
2度目以降のリクエストが、絶対にCGIを通さないとダメなら却下ですが、
そうじゃないならDHTMLとかを利用したりしてもいいかもです。
1度目のリクエストで全てのHTML、スクリプトを吐き出してしまって、
スクリプトでレイヤの切り替えとか、そういう処理を組んだらいけるかも…
でもむちゃむちゃ大変そう…

すんません。私はネタフリしかできません(汗)

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