• ベストアンサー

アクセス解析をつけたいのですが、フレームのあるページでは無理?

アクセス解析でログを取るところまでPERLで完成しました。 ただ、取りつけたいホームページがmenuとmainにわかれているホームページのせいか、ログがmenu(cgi呼び出し元)のURLが記録されてしまうんです。 別のリンクから入っているのに・・・。 googleのanalyticsはindex.htmにjavascriptとして記載していますが、yahooとかgoogleとかちゃんとログが残っています。これを利用しているので自分で作るのは要らないといえば要らないのですが・・・。 おそらくgoogleのanalyticsと同様にindex.htmにjavascriptとして貼って、perlのソースを変えるのでしょうが、具体的になにをすればよいか思いつきません(ToT) もしわかる方がいらっしゃったら改善点を教えてください。

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

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

勘違いをしていましたら、申し訳ありません。 文面から察しますと「リファラ」情報を取得記録されていらっしゃるかと思います。 フレームページを介したものに限らず「リファラとはそのページの呼び出し元」の情報です。 フレームページがメニューページとメインページを呼び出せばメニューページにとってのリファラはフレームページとなりますし、メニューからメインページ側のフレームをTARGETで指定して何らかのコンテンツを呼び出せばそのコンテンツにとってのリファラはメニューページとなります。 外部の別リンクが呼び出されるのがフレームページなら「フレームページにとってのリファラは外部のリンク」となりますが上記のように「メニューやメインページはフレームページが呼び出していますのでリファラはフレームページ」となります。 ですので、ご質問の上部の内容で正常動作かと思います。 フレームページで取得できるリファラ情報をべつのページに渡したいのであれば、フレームページをCGIなどで動的に生成するかJavaScriptを駆使するなどして、各ページにメソッド(状況に応じてGETとPOST/CGIとJavaScriptを使い分ける)でもって渡してやってはどうでしょうか。 あとはSessionや環境変数を駆使するなんていう方法も考えられます。 蛇足ながら「リファラ情報」はHTTPでは必須の情報とはなっていません。 利用者の環境によってはリファラ情報が参照不可能な場合(ノートンセキュリティのデフォルト設定状態など)がありますのであまりあてにならないものだと覚悟しておいてください。

ma_trix
質問者

お礼

回答ありがとうございました。 なぜかmenuページのURLが記載されてしまうんです。本当にふしぎです。

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

>googleのanalyticsはindex.htmにjavascriptとして記載しています それと同じようにjavascriptを書けばreferrerが取れます。 通常queryにくっつけて渡すので、cgi側でそれを読みとるように記述します。 「perlアクセス解析の作り方」などの用語で検索されてみるとよいかも。

ma_trix
質問者

お礼

回答ありがとうございました。 そのように検索すればよかったのですね。とても参考になりました。

関連するQ&A