• ベストアンサー

window.openでリファラを取得するには

a.html から、b.php に window.open でリンクを張っています。 その際、b.php で a.html から飛んできたというリファラを取得したいのですが、 window.open ではリファラを取得できないとどこかで見かけました。 b.php でリファラを取得するためには、 a.html でどのようにしてリファラを送ったらいいのでしょうか? target=_blank でもよいのですが、それだとウィンドウサイズの変更ができないため、 できる限りwindow.openを使いたいのです。 よい方法をご存知でしたら教えていただけないでしょうか?

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

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

FireFox,クローム,Operaで試しましたが、window.openで開いた場合でも、受け取り側のPHPでリンク元を取得できました。 IEはリンク元を取得できないようですね。 余談はこの変で、IEでもリンク元を取得する案を記載します。 リンク例: <a href="b.php" target="testwindow" onclick="javascript:window.open('about:blank','testwindow');">リンク</a> 上記のリンクをクリックするとまず、 onclickでウィンドウ名が testwindow の 何も表示されないウィンドウが開かれます。 その後に href="b.php target="testwindow" が実行され、予め開いておいたtestwindow内にb.phpの内容が表示されることになります。 実際のリンクは、hrefによって行われる為、 IEでのアクセスでもちゃんとリンク元を取得できるはずです。 何も表示されないウィンドウに予めスタイルを指定しておくことで、 サイズ指定なども可能です。

kreuz_z
質問者

お礼

丁寧なご回答をありがとうございました。 こちらで試してみたところ、無事に取得できました。

関連するQ&A