• ベストアンサー

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

  • window.openのターゲットについて

    ウィンドウをjavascriptで開く際に、 window.open("URL","_top")のように ターゲットを指定できると思うのですが、 今一どこを指定しているのかわかりません。 ページA(フレームで分けられている)からwindow.openでページBを開いた場合、ターゲットに_top,_selfなどと指定した場合はページAのフレームのことを指しているのでしょうか? また今、ページA(フレームで分けられている)でURLをクリックするとファイルをダウンロードするプログラムを作成しているのですが、window.openのターゲットに_topを指定すると新しいウィンドウが表示されないのに、_self,_blankなどを指定するとウィンドウが表示され、ダウンロードが終わっても表示されたままになってしまいます。どうしてこのような違いが起きるのかお分かりになる方がみえましたら教えてください。 よろしくお願いいたします。

  • window.openで情報を引き継ぎたい

    現在、<a>リンクにクエリを記述して、次ページに飛ばしています。 taget=_blankにしていますが、ウィンドウサイズを指定したいので、window.open()を使用しようかと思ったのですが、そうすると、情報の引継ぎができません。 何かよい案はないでしょうか?

  • openはリファラが付くか

    ブラウザはIEで、window.open("http://www.yahoo.com/a.cgi")で開いた場合、 a.cgiにこのソースが書いてあるHTMLファイルのアドレスはリファラとして通知されますか?

  • window openの設定ページからリンクをはる

    dreamweaverCS3を使いmac環境でHPをつくりました。 POPUPのページを作ろうと リンクに window.open('live.html', '_blank', 'width=500,height=700'); return false; のタグを入れて、横幅縦幅指定通りにページが開けたのですが そのページにさらにリンクをはって target=_blankで別ウインドウで開くようにしたのですが ブラウザ確認したところ、safariではうまくいくのですが firefoxでは先に指定したwidth=500,height=700の サイズでしか開きません。 firefoxはIEに似てると聞いているので IEでも同じ現象だと思い直したいんですが。。。 どうすれば、普通のサイズで開くようにできるでしょう? あまり詳しくなく説明が分かりにくいと思いますが よろしくお願いします。

  • <a target=_blank>とJavaScriptのwindow.open()の違い

    Servlet+RDBでWebシステムを作っています。 セッションを取って、LastAccessTimeなどでユーザーを管理しているのですが、ある場面で別ウインドウを出したいと思っています。<a target=_blank>だとうまくいくのにwindow.open()だとリンク先は同じでもエラーとなってしまいますが、この2つにどのような差があるかご存知でしたら教えてください。 window.open()の方が使い勝手がいいのでこちらを使いたいのですが、やむを得ずAタグで新規に開いてからリサイズを行っています。本来新ウインドウに名前をつけたいのですが、Aタグでは無理でしょうか。こちらもわかる方がいたらお願いします。

    • ベストアンサー
    • Java
  • 連続したURLへのwindow.openの指定方法

    JavaScript初心者です。 画像のサムネイル一覧のページがあり、サムネイルをクリックすると元の画像が別ページで開く というページを作っています。 今は <a href="元の画像.jpg" target="_blank"><img src="サムネイル.jpg"></a> としているのですが、window.openを使ってウィンドウのサイズ指定を行いたいと考えております。 画像ファイル名が"001.jpg","002.jpg","003.jpg"…となっている場合、その画像のサイズを取得してそのサイズにウィンドウを開くスクリプトを教えてください。 宜しくお願いします。

  • window.openした窓の位置は記憶可能か

    htmlで<target="_blank">でウィンドウを開いた時、 OSによりけりですが前回開いた位置や大きさをなんとなく覚えてくれます。 javaScriptでwindow.openでサブウィンドウを開いた時に、サブウィンドウの位置や大きさを記憶させる方法は無い物でしょうか? cookieでも利用するしかないでしょうか。

  • window.openで開いた別ウィンドウのリンクを親ウィンドウで開きたい

    いつもお世話になっています。 index.htmlというページがあり、window.openでtest.htmlというウィンドウを開きます。 test.htmlの中に記述したリンクをindex.htmlと同じウィンドウに開きたいのですが、どう記述すればいいのでしょうか? index.htmlを親とは見なさずparentではtest.htmlと同じウィンドウに開いてしまいます。 blankではindex.htmlとtest.htmlとも別のウィンドウに開いてしまいます。 おそらく初歩的な問題なのだと思いますが、どうかお知恵を貸して下さい。 普通ですが、test.htmlの現在の記述は以下です。 <a href="開きたいページ.html" target="_parent">ページを開く</a> どうぞよろしくお願いします。

  • リファラが取得できない?

    初めまして。PHPのメールフォームを設置し お試しをしてみたら、外部から利用はできません、と表示されます。 リファラのチェックをする、に設定しています。 (お借りした所ではこういう質問を受け付けてもらえないので こちらでお伺いしております) リファラの意味がわからず調べてみましたが、 「あるWebページのリンクをクリックして別のページに移動したときの、リンク元のページのこと。Webサーバのアクセスログに記録される項目の一つ。」 リファラとは 【referer】 - 意味・解説 : IT用語辞典 <http://e-words.jp/w/E383AAE38395E382A1E383A9.html> とあり、自分のページからメールフォームにリンクしているのは 大丈夫なのではないかと思っていたのですが・・・ 他にブラウザの設定やファイヤーウォールの設定も見てみましたが リファラを消したりすることも無いようです。 本体?の中に、 if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] && $refCheck) { Err('外部から利用は出来ません'); と記載している箇所を見つけたので、http://の箇所に自分のアドレスを入れるのかと思い試してみましたがダメでした。 拙い説明でわかりづらいところばかりですが おわかりになる方がおられましたら、対処法などお教え下さい。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • window.openについて

    お世話様です。 早速本題なんですが画像のサムネイルページがあります。 そのページからサムネイルをクリックすると新しいウィンドウを開き元画像を表示するのですが、すべてサイズが違うためヘッダに <script language="JavaScript" type="text/javascript"> <!-- function openwin(url, w, h) { window.open(url,"","width=" + w + ",height=" + h); } // --> </script> と書いて、リンク<a>に onclick="openwin(this.href, 800, 600); return false;" とリンク1つづつに数値(幅,高さ)を変えながら入れて、 サムネイルが指定したサイズで新規ウィンドウとして開くところまでは至りました。 ですが、これでは、サムネイルをクリックする度に新規ウィンドウが開いてしまいます。ウィンドウの名前を指定しようと思い、 ヘッダを function openwin(url, name, w, h) { window.open(url, name, "width=" + w + ",height=" + h); とかえ、リンクを onclick="openwin(this.href, new, 800, 600); return false;" と変えました。 これでいけるかと思ったのですが、サムネイルと同じウィンドウに開かれてしまいます。さて、、、自分の力量はこんな程度で、もうわかりません。 どうすれば、アタらしいウィンドウの名前を指定出来るのか、 初歩的なところかもしれませんがご教授よろしくお願い致します。

専門家に質問してみよう