• 締切済み

リファラーの取得方法

いつもお世話になっております。 今回も大変困ってしまし、質問をさせていただきます。 JavaScriptを使用してリファラを取得したいと考えており、 ネットや本を調べ、以下のように記述し、「Test.html」という名前で保存しました。 <script type="text/javascript"> //クッキーへ書き込み function SetCookie() { //リファラの取得 urlstring = document.referrer; //表示 window.alert(urlstring);           //クッキーへ書き込み document.cookie = "URL=" + escape(urlstring) + "; " + "expires=Fri,31-Dec-2030 23:59:59; "; } //呼び出し SetCookie(); </script> 「Test.html」と同じドメイン(サーバ)にあるWebページを表示した後、「Test.html」を表示するとリファラを取得でき、alertで表示できました。 しかし、「Test.html」異なるドメイン(このWebページがおいてないサーバ)のページを表示した後に「Test.html」のWebページにアクセスしても、リファラが取得できず、alertで表示できませんでした。 サーバが違っても、リファラは取得できるようなのですが、 どうしてこんな事態になったのか、どうにもわかりません。 どこか違っているのでしょうか? どうか教えてください。

みんなの回答

  • pick52
  • ベストアンサー率35% (166/466)
回答No.3

リファラはリンクなどから飛んだ場合だけ送信されるはずです。 なので、アドレスバーにURLを入力して移動した場合はリファラは 空になるのでは。 あとは、ANo.1さんの仰るようにセキュリティソフトなどによって ブロックされている可能性もあります。 セキュリティソフトなどによってはデフォルトでリファラを削除する ものがあります。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まずはデバッグのときには切り分けが大事。 クッキーをつかわず単純にalert(document.referrer)で表示されるか どうかをチェックするところからはじめては? きちんとしたリンクからTest.htmlにとんでないだけのような気もしますが

回答No.1

ブラウザの設定および、インターネット関連のセキュリティーソフトの設定で、 異なるドメインに対してリファラーを送信する設定になっていますか? もしなっているのであれば、このような現象になったことがないので私にはわかりかねますが。。。