CGI-BBS > アクセスカウンタ > SSI式カウンタ > 続・フレーム機能内でのアクセスカウンタについて


カレッヂ
カレッヂ


質問者 k-suke  投稿日 3/9(金) 16:30:00
同様の質問をされている方がいたのですが、さらに詳しく教えていただきたいです。

http://www.rescue.ne.jp/cgi/frame/
にある、フレーム機能時の<!--#exec cmd="〜-->の場所について、
<NOFRAME>で見てる人に対応するために、上のSSI呼び出しの記述はフレームの切ってある
親HTMLの<NOFRAME>タグ内に書かないといけない、ということなのだと思います。

でも、それじゃあ、フレーム内に読みこんだファイルに同じ記述でSSIを呼び出せば、
1.フレームファイルを読みこんだとき
2.フレーム内に本ページのファイルを読みこんだとき
の2回SSIを実行してしまい、1回ページを読んだら2カウントということになってしまいます。

解決法としては、
1.<NOFRAME>で見てる奴なんか放っておけ
2.本ページのファイルは結果のみ表示。.datファイルに数字を加えない
ということになると思います。

1の手段で、ってわけにもいかないので、どなたか2の場合の具体的の方法を教えてください。
回答者 羊相談員  [削除]  投稿日 3/9(金) 21:43:33
最初に言っておきますが
NOFRAMEではなくNOFRAMESです。
サーチエンジンのロボット対策に使用されるrobots.txtと共に間違えやすいので注意が必要です。
(NOFRAMEでもNOFRAMESでも見た目的には変わりないですが)

本題に入ります。
SSIはHTMLの解析を行うのよりも前に実行されるため
基本的にはどこに記述しても
ブラウザの仕様等には関係なく同じように動作するようです。
NOSCRIPTの中でもNOEMBEDの中でも同様です。
回答者 しあわせのツボ  [削除]  投稿日 3/9(金) 22:06:21
noframesは参考書でもnoframeと間違っていることがありますからね。

で、2の方法ですが、
環境変数 $ENV{'HTTP_REFERER'} に呼び出し元URIが入るので、それを見てカウントアップするかしないかを決めるようにすればいいのではと思います。
回答者 羊相談員  [削除]  投稿日 3/9(金) 22:19:11
すみません
質問の意味を少し勘違いしていたみたいで
的外れな回答になっています。
質問者 k-suke  [削除]  投稿日 3/10(土) 23:48:49
ご返答ありがとうございます。
早速試していきたいと思います。
タグの間違いの指摘もありがたいです。勉強になります。

返信(回答)する


Web裏技