電子書籍の厳選無料作品が豊富!

いつもお世話になっております。
今回も大変困ってしまし、質問をさせていただきます。

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で表示できませんでした。

サーバが違っても、リファラは取得できるようなのですが、
どうしてこんな事態になったのか、どうにもわかりません。

どこか違っているのでしょうか?
どうか教えてください。

A 回答 (3件)

リファラはリンクなどから飛んだ場合だけ送信されるはずです。


なので、アドレスバーにURLを入力して移動した場合はリファラは
空になるのでは。

あとは、ANo.1さんの仰るようにセキュリティソフトなどによって
ブロックされている可能性もあります。
セキュリティソフトなどによってはデフォルトでリファラを削除する
ものがあります。
    • good
    • 0

まずはデバッグのときには切り分けが大事。



クッキーをつかわず単純にalert(document.referrer)で表示されるか
どうかをチェックするところからはじめては?

きちんとしたリンクからTest.htmlにとんでないだけのような気もしますが
    • good
    • 0

ブラウザの設定および、インターネット関連のセキュリティーソフトの設定で、


異なるドメインに対してリファラーを送信する設定になっていますか?

もしなっているのであれば、このような現象になったことがないので私にはわかりかねますが。。。
    • good
    • 0

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