• ベストアンサー

フレームを使ったトップページで、document.referrerを取得したい

サイトのトップページがフレーム構成になっているのですが、 フレームを使用したページの場合、BODYタグ以降って解析しないんですよね? となると、onLoadで、javaScript関数も呼べない・・。 でも、どのサイトからのリンクで自サイトが呼ばれたのかを知りたい・・。 そんな時はどういう方法があるのでしょうか? フレーム先のターゲットページにdocument.referrerを取得させても、フレーム元のURLを拾ってしまいますもんね。 何か良い手段、ご存知な方、伝授ください。よろしくおねがいたします。

  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
noname#4252
noname#4252
回答No.1

フレーム構成の場合は parent.document.referrer または top.document.referrer を使います。

tomoiida
質問者

お礼

簡単に実現するんですね、、。(^^ゞ 良い勉強になりました。 素早い回答、感謝いたします、ありがとうございました!

関連するQ&A

  • referrer ってどうなってるの?

    WEBページをつくって公開してるもんですが・・・ さいきん奇妙な現象に出会ってます。 WEBサイト内の 仮称 A.html に <a href="B.html">Bページ</a> と記述して仮称 B.html へのリンクをはっています。 その B.html には Javascript が書かれてあって、document.referrer を使ってユーザがどこをクリックして B.html に来たかを、 cgi によるアクセス解析により知ることができるようにしています。 何人かのユーザさんが A.html から B.html へたびたび飛んできます。 それは document.referrer が A.html であることから分かります。 さて、ここからですが、ある理由があって A.html にある <a href="B.html">Bページ</a> の <a></a> タグを外しました。 これでどのユーザも A.html から B.html へは来れなくなるはずです。 ところが、外したあとも、あるユーザさんは B.html を見にきてるんです。 しかもアクセス解析によれば、 document.referrer は A.html のままなんです。 奇妙だと思いませんか? 考えられる原因は何でしょう?

  • Document Referrerと言うページに飛ぶ

    ウィルスの警告が出た後に、検索したサイトに行こうとするとするたびに、 http://www.javascript-page.com/referrer.html に飛ばされてしまいます。 3回目に行きたいページに行けますが。 解決方法を教えてください。

  • document.referrerについて

    お世話になります。 http://www.openspc2.org/JavaScript/ref/document/referrer.htm このページによると、document.referrerとは、 「ハイパーリンク元のファイルが存在しない場合、UNIXサーバーであればディレクトリ内のindex.html、それ以外のサーバーであればdefault.htmファイルを読み込みます。」 とあります。「ハイパーリンク元のファイルが存在しない場合」とはどういうことでしょうか? まさかdocument.referrerを実行することでリンク元のページの存在確認まで行っているということなのでしょうか? それと、reffererがセットされているということはどこかのページからその瞬間リンクされているということだから、リンク元ファイルが存在しない状況は起こりえないと思うのですが、どうなのでしょう?

  • 直フレーム内ページにきた場合とトップからきた場合の「戻る」について

    以前「複数フレーム内リンク」でお世話になりました。今度も煮詰まってしまいました。 ・トップ→コーナー→末端ページという構成 ・「上部・左・メイン」の3つフレームを使用している状況です。 検索でフレーム内の末端ページに飛んできた人に「戻る」ボタンでコーナーのindexにフレーム有りの状態で表示したいのです。 只今、上記については作動できるのですが、逆にトップ→コーナー→末端ページと通常の流れできた人が、その「戻る」を押すと3つのフレームの中のメインフレームにまた3つのフレームが表示されてしまいます。 戻るに「target='_top'」や「target='_parent'」とつけてもいきません。といいますか、付け方がわかりません。 ソースは↓ <script language="JavaScript"> function framepage(filename) { document.open(); document.write("<frameset rows='80,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='topFrame' src='上部.html' scrolling='NO' noresize>"); document.write("<frameset cols='152,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='leftFrame' src='左.html' scrolling='NO' noresize>"); document.write("<frame name='main' src=" + filename + ">"); document.write("</frameset>"); document.write("</frameset>"); document.close(); } </script> bodyの方は↓ <a href="javascript:framepage('../index.html')">[戻る]</a> となっています。 どなたか宜しくお願いします!

  • フレームページで HTTP_REFERER

    よろしくお願いいたします。 初心者ながらもHPを立ち上げ、Free配布のcgiもいくつか設置したのですが、 アクセス解析のcgiで、機能等に非常に満足のいくcgiが、参照元を取得するのに 「HTTP_REFERER」を使っていました。 私のHPは、フレームを使っておりまして、「HTTP_REFERER」では参照元が取得 出来ません。 どのようにすればよろしいのでしょうか?? ちなみに私の使っているサーバーは、HPとcgiが別サーバーとなっています。 解析するページからは『<img~~』で呼び出しています。

    • ベストアンサー
    • CGI
  • フレームページからログを取る方法

    こんにちは。 JavascriptとCGIを利用して、簡単なアクセスログを取っています。 サイトの各ページの<BODY>~</BODY>の中で外部のJavascriptを呼びだし、 そのjavascriptの中で、<IMG src= ・・・・>でCGIを呼び出してファイルに書き込んでます。 ところが、フレームページだと、BODYタグが無いので、framesetタグの中のloadイベントで なんとかしようと思ったのですが、Javascript自体は呼べるものの、 <IMG src=・・・>などとしているため、エラーになってしまいます。 フレームページからログを取る良い方法があれば是非教えてください。お願いします。

    • ベストアンサー
    • HTML
  • document.referrer防御

    webページを閲覧する際に、匿名性を確保するためにproxomitronを使ってreferer(referrer)、user-agent 等を偽装しております。 が、ホームページにjavascriptのdocument.referrerを使って、「あなたは、http://~からいらっしゃいました」などとプライバシー無視のようなコメントを載せる方がいらっしゃいます。  IEのjava関係をブロックするのも面倒なので、document.referrerを遮断できる方法はないでしょうか。 できれば、偽装(違う文字等をいれて)びっくりさせてやりたいくらいです。 よろしくお願いします。

  • 前のページのurlを取得するには?

    サイト内の十数ページで、関連記述の相互リンク <a href="xxx.html#yyy"> を 多用しています。ページの途中にジャンプするので、訪問者様が迷子にならないよう、 <body onLoad="parent.menuFrame.document.images[n].src='active.gif'" onUnload="parent.menuFrame.document.images[n].src='inactive.gif'"> で 居場所を表示しています。また、コンテンツの性格上、年輩の方が大きな文字で ご覧になることも予想され、表示領域が不足しないように、<a href="topPage.html" target="_top">フレーム解除の案内文</a> をtopPage.htmlに入れています。 一方、検索サイトから個別ページへの訪問者様を一度はフレーム版に誘導するため、 <a href="framesetPage.html" target="_top">トップページ</a> を各ページ上に 書いているのですが、虻蜂取らずで、トップページでフレーム解除を選択した方も、 各ページで「トップページ」をクリックする度にフレーム版に戻ってしまします。 要領を得ない説明で恐縮ですが、フレーム版でご覧いただくのを基本に、フレーム解除 を選んだ方には、ノンフレームのままtopPage.htmlと行き来していただきたいのです。 個別ページ上の<a href="topPage.html"> について、document.referrer が私の サイト外のときのみ target="_top" を指定しようと考えたのですが、referrerで urlを取得できないブラウザも多いとか・・・ アドバイスをお願いします。m(_ _)m

  • フレームページのタグについて。

    自分のホームページのメニューにフレームページをつくりました。このフレームページのボディにもう一個フレームページを作ることってできますか?試しにやってみたんですが、うまく表示されません。どうやらtarget=bodyってやつが二つ目のフレームのボディを指しているのに、一つ目のフレームのボディとかぶってしまうからだと思うのですが・・・。説明がうまくできなくて申し訳ないのですが、もしわかる方、サイトを知っている方、いらっしゃいましたらお願いします。

  • フレームページでアクセス制限したい場合

    ある特定のURLからのアクセスを、どこかのページに飛ばすには、 <Script Language="JavaScript"> <!-- reff=document.referrer; if(reff.indexOf('相手のURL')!=-1){ location.replace('飛ばす先のURL') } //--> </Script> なのですが、 フレームページの<body>と</body>の間に設置したところ、 飛ばすことが出来ず、普通に表示されてしまいます。 この場合どうすれば、いいのでしょうか? ご意見頂けましたら幸いです。