子ウィンドウから親のURLを参照するには?
[上に]
[前に]
[次に]
とっと
2000/01/31(月) 18:15:46
こんにちは。いつも参考にさせてもらっています。
それで唐突ですが・・・
IEにおいてJavascriptを使って子ウィンドウを作成したときに、
この子ウィンドウから親ウィンドウのURLを取得したいのですが、
HTTP_REFERERを使っても値が取れなく困っています。
それで、その後Javascriptでopener.document.URLとしたのですが
どうしてもスクリプトエラーになってしまいます。
どなたかJavascriptを使って親ウィンドウのURLを取れたかた
いらっしゃらないでしょうか?
#ちなみにネスケ、IE5.5ではできるのですが・・・
PTAN
2000/01/31(月) 18:55:35
opener.location.hrefでどうでしょう?
とっと
2000/01/31(月) 19:33:22
次のようなものでやってみたのですが、やはりだめでした。
HTMLに不慣れなものでソースにおかしなところがありましたらご指摘ください。
parent.htmlからchild.htmlを呼びます。
-----------parent.html---------------------
<html>
<head>
<script>
<!--
function opennewwindow(url)
{
window.open(url,"NewWindow","dependent=1");
}
// -->
</script>
</head>
<body>
<a hrefF="javascript:opennewwindow('child.html')">子ウィンドウ</a>
</body>
</html>
----------child.html----------------------
<html>
<head>
<script language="javascript">
<!--
document.write(opener.location.href);
//-->
</script>
</head>
<body></body>
</html>
次のようなものでやってみたのですが、やはりだめでした。
HTMLに不慣れなものでソースにおかしなところがありましたらご指摘ください。
parent.htmlからchild.htmlを呼びます。
-----------parent.html---------------------
<html>
<head>
<script>
<!--
function opennewwindow(url)
{
window.open(url,"NewWindow","dependent=1");
}
// -->
</script>
</head>
<body>
<a href="javascript:opennewwindow('child.html')">
子ウィンドウ</a>
</body>
</html>
----------child.html----------------------
<html>
<head>
<script language="javascript">
<!--
document.write(opener.location.href);
//-->
</script>
</head>
<body></body>
</html>
とっと
2000/01/31(月) 19:34:29
すみません、ctrl+cを連打してしまいました・・・
PTAN
2000/01/31(月) 20:08:41
IEのバージョンは何でしょう?
当方IE4SP2で上記HTMLを作って試してみましたが、
opener.location.hrefでもopener.document.URLでも
動きました。
とっと
2000/01/31(月) 21:04:30
PTANさん、ありがとうございます。IEは5.01です。
PTANさんのお言葉をヒントに色々と試してみました。
その結果ですが、どうやらドメインをまたいでしまうと
エラーが出てしまうらしいです。
自分のマシンでサーバを立ててやってみたところ
うまく親のURLが取れたのですが、
同じファイルで、子を別サーバのファイルにすると
エラーになってしまいました。
さらにそのことはIEで起こって、ネスケ(4.07)では
ちゃんと表示されました。
うーん、こればっかりは仕方がない問題として
受け取るしかないのでしょうか?
げん
2000/02/01(火) 10:22:18
全然違うかもしれませんが
フレームの書き方で申し訳ないですけど、
parent.frames[0].location.hostname;
parent.frames[0].location.search;
なんてのがあるみたいです。
これを加工して使ってみては?
とほほさんの
http://www.tohoho-web.com/js/window.htm#Window
にありました。
マック
2000/02/01(火) 15:37:59
IE5.0+PWSでも動作しました。IE5.1の調子が悪いとか?
たろー
2000/02/03(木) 16:51:18
#プロバイダA、プロバイダB に
# parent.html、child.htmlを置いて、ためした結果
とっと氏のおっしゃるとおり、見えませんね〜。
(親URLを)どうしても知りたいのなら、
引数で渡してもらうしかないのかなぁ。
とっと
2000/02/04(金) 11:41:23
[[解決]]
みなさん、本当にありがとうございました!
結局対策方法として、たろーさんが言ってくださったような
引数を使ってみることにしました。
げんさんのお言葉から、フレームを用いることも考えましたが
それだと別のページを1つのブラウザ画面に表示すること
になって、見にくいページなってしまうのでやめることにしました。
また、これからもこれについて実験してみたいと思うのではっきりと
したことがわかりましたらまたかかせていただきたいと思います。
#マックさんへ、
すみません。IE5.0+PWSのPWSって何でしょうか?
もしよろしければ教えていただけませんでしょうか。
マック
2000/02/04(金) 16:31:37
マックです。
>すみません。IE5.0+PWSのPWSって何でしょうか?
>もしよろしければ教えていただけませんでしょうか
イントラネット内で良く使われるWEBサーバでパーソナルWEBサーバのことです。Win95/98でも動作します。このWEBサーバだと動作が異なるかなと思いまして。
[上に]
[前に]
[次に]