![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
10秒ごとにページ全体を更新かけるチャットのようなCGIで、
F5ボタンを連打して更新された際に、
プログラム側で「F5更新されている」ことを検知して、
「F5連打しないで下さい」的なページを表示したいと思っています。
クッキーを使ってどうにか制御しようとしたのですが、
うまく検知する方法が思いつきません。
ページが更新されたときに、データベース上に持っている
更新回数の情報を+1加算しているのですが、
それを使ってどうにかF5検知しようとしたのですが、
F5を押された場合と10秒ごとの更新である場合の区別を
どうつけるのか思い浮かびません。
更新された時間を覚えておき、次に更新された時間が
10秒以内であればF5を押した、という判断以外には
なにかないでしょうか?
(データベースに新しい情報を書き込んだりするのは
サーバーに負担がかかるので、できればやりたくないです)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
サーバかクライアントに数値のデータを持つしかありません。
クライアントの場合は時間を送ってこないとエラーにして、時間が10秒以内ならばエラーになると言うもの。
最初の数字をどのように発行するかがポイントでしょう。
HTMLを10秒毎に書き出しするほうがいいかもしれません。
厳密にやるのならばサーバに何かしらのデータを保存しておかないと無理でしょう。
サーバに負荷がかかるのが嫌ならばそのスクリプトの基本的な動作を見直すべきでしょう。
No.1
- 回答日時:
質問者様はサーバとクライアントをきちんと認識すべきです。
「F5を押す」と言うのはクライアントサイドの挙動です。クライアントはそれを受けてサーバ側にhttpクエリを送信します。
サーバ側はその「来たクエリを解釈している」に過ぎません。
ゆえ、結論を言えば「CGI側から何を押されたかなんて分かるはずが無い」
F5だろうがリンク押下だろうがクエリ直叩きだろうが、明示的にその記述が無い限りサーバ側でそれを検出することは出来ません。
>(snip)以外には
>なにかないでしょうか?
少なくとも当方は知りません。
クライアント側をjavascriptでギチギチに固めるくらいでしょう。
エンドユーザがどう思うかは知りませんが。
>(データベースに新しい情報を書き込んだりするのは
> サーバーに負担がかかるので、できればやりたくないです)
認識がおかしいです。
10秒に一回requestを送る方が何百倍もサーバに負荷をかけていることでしょう。
// 正確にはそこに至るまでのルートですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
イントラネット用HP アクセス解...
-
ASPからJavaScriptへの受け渡し...
-
CGIでF5連打されたときにガード...
-
ASPでDLLの使用方法
-
ソースを見せたくないです。
-
CGI設置可能なレンタルサーバー...
-
HP-UX (IA64)にVNC等でリモート...
-
PerlでWEBサイトを作るために必...
-
IISのバージョンとASPについて
-
EXCELファイルに誰がアクセスし...
-
CGIでソースがそのままでてしま...
-
《エクセルVBA》「他の人が該当...
-
URLの表示を隠す方法
-
FTPにて553エラー
-
VBAでサーバーにアクセスするに...
-
イントラネットのwebページのア...
-
ASPから既存のexcelブックを開...
-
メールフォームのCGIでデータが...
-
特定のCGIだけ、作動するかわり...
-
ホームページのレイアウトが崩...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「EJBとServletの違い」「J2SE...
-
ASPからJavaScriptへの受け渡し...
-
VBAを使用して、外部サーバのフ...
-
HTML文書の中で環境変数を使う...
-
【緊急】セッション変数を別の...
-
perlやPHPについて、CGI方式と...
-
ASPでDLLの使用方法
-
simplexml_load_fileのエラー
-
ソースを見せたくないです。
-
ライブラリと処理速度について
-
ダヴィンチカート2のアップロ...
-
AN HTTPD か Apacheか。
-
LinuxでAsp.netを構築できるMono
-
イントラネット内の他のサーバ...
-
リダイレクト失敗時のエラー取...
-
サーバ構成について
-
ブログや掲示板の作り方
-
SNSプログラムを探しています。
-
メールアドレスの@から後ろが・...
-
net::smtp port設定
おすすめ情報