プロが教える店舗&オフィスのセキュリティ対策術

親ウィンドウからサブウィンドウをクリックイベントで表示させた場合に、サブウィンドウ側で呼びだした親ウィンドウのURLを取得することはできるでしょうか?

質問1
サブウィンドウをオープンする際に、GET変数なしでそれ(親ウィンドウのURL取得)がサブウィンドウ側でできるかどうか?
質問2
質問1の回答がYESの場合→具体的な取得方法
質問1の回答がNOの場合→GETで親ウィンドウのURLを取得する以外に方法はないか?

以上宜しくお願いいたします。

A 回答 (3件)

親ウィンドウが明示的に自URLを子供に渡してない限りは HTTP GET では情報を取得できません(当たり前)



HTTP 環境変数と勘違いされているのかもしれません。$ENV{'HTTP_REFERER'} を用いて取得する事ができますよ。故意に送らない事ができるブラウザもありますので 100% の信頼度ではありませんが、十分実用に耐えうるレベルで取得は可能です。

参考URL:http://www.futomi.com/lecture/env_var/http_refer …

この回答への補足

ありがとうございます。

GETを持ち出したのは、それ(GETで親から引き渡される)以外にサブウィンドウが呼び出し元のURLを取得
できない場合があるのか?という意図で書かせてもらいました。説明不足で申し訳ありません。
親が渡さなくてもサブウィンドウのほうで取得できれば
ベストです。

サブウィンドウの場合でもHTTP_REFERER(環境変数ですね?)が利用できるのですね。
JavaScriptではどのように記述するのでしょうか?

補足日時:2005/02/17 11:22
    • good
    • 0

Javascriptでは「document.referrer」でリンク元URLを取得できます。

(←スペルミスではありません。)

ただ、document.referrerはアクセス解析ギライの人が無効化している場合もあるので親子ドキュメントが同じドメインに存在するならば(*1)、#1の方の回答のように「opener.location.href」を参照したほうがいいかと思います。

*1:ドメインが異なる場合はopenerオブジェクトは参照を禁止されているので

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1192733
    • good
    • 0

専門家じゃないんで、あんまり自信がないですが、


呼び出される側で「opener」プロパティを使用すれば良いかと。
具体的には、

document.write(opener.location.href);

といった感じです。

的外れだったらごめんなさい。
    • good
    • 0

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