プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。
簡単なアクセス分析のようなものを作っています。

ページの中に<script src="Javascript" ....という
ようなタグを埋め込んで、外部ファイルになっている
Javascriptのプログラムを呼び出し、Javascriptから
IMGタグを作りながら、CGIを呼んで、ファイルに
情報を書き込んでいます。

Javascriptなので、Webのページが開かれるたびに
カウントできると思っていたのですが、戻るボタン
でページが変わったときには、ファイルへの書き込み
ができていないようなのです。

Javascriptのテストプログラムでalertを出して
みたところ、alertは、戻るボタンでページが開かれ
たときにもちゃんと動作しています。

いったい何が原因で、CGIが呼べないんでしょうか・・?
どなたかお助けを・・

A 回答 (3件)

ブラウザのキャッシュが効いてるからだと思うんですが、


呼び出すcgiのURLに、時間やランダムナンバーなど
表示する度に毎回変わるクエリーを付けてみるとどうでしょうか?
access.cgi?07122028
(07122028の部分がJSによって毎回変わる)

すいません。あまり自信はありません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

でも、今でもCGIを呼び出すときには「?」以下の
部分は毎回変わっていますので、ちょっと当てはまら
ないようです。

(CGIのほうでは'QUERY_STRING'を使って、「?」以下
の部分を毎回見ています)

いったい何がいけないんでしょう・・・?

お礼日時:2005/07/02 21:04

動作を個々に把握して、


どこで何がどの様に動作して何が何処に残っているのか
きっちりと把握する必要があります。

その様に気になった理由として、
質問文に
>いったい何が原因で、CGIが呼べないんでしょうか・・?
とあり、#1の礼文で
>今でもCGIを呼び出すときには「?」以下の
部分は毎回変わっていますので、
とあり、呼べないといいつつ呼んでいるというのも・・・。

JavaScript 等はブラウザのキャッシュにより再表示の時と同等な動作になっていると思いますが
更新(再描画)の時の検証結果はどの様に動作されているのでしょうか?

あと念の為なのが、CGIのファイルのロック管理ですかねぇ~
現状だとまだ呼べていないのかその先の書き込みがされていないのかの切り分けが出来ていませんし・・・。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

私の書き方が悪くて申し訳ありません。
「CGIを呼んでいます」というのは、「<IMG src=xxxx >という文字列を
Postscriptで生成しています」ということでした。
戻るボタンで戻ったときにも生成はできてるのに、
CGIは実行されていなかったんです。

でも、やっと、原因がわかりました!
最初に回答していただいた2NNさんのご指摘どおりでした。
文字列を生成しているところに深いバグがあって、
戻るボタンのときには、新たな文字列ではなく、以前に
生成した文字列がそのまま使われていたので、結局、
ブラウザのキャッシュのほうの画像が使われていて
CGIが呼ばれていなかったようです。

どうも皆さんお騒がせしてすみませんでした。

お礼日時:2005/07/03 13:44

そのCGIはご自分で作られたものですか?



CGI内部で同一IPからのアクセスは一定時間記録しないような設定になっているのでは?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。。。

CGIは、自作のとっても簡単なものなので、
そんな難しい仕組みにはなってません。。
Postscriptから、
<IMG src=xxxxx.cgi?yyyyyyyy width="0" height="0">
で呼び出されて、中では、
yyyyyyのところを取り出してファイルに書き、
ダミーのgifファイルを画面に書いています。

よろしくお願いします。。

お礼日時:2005/07/03 01:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!