JavaScriptのwindow.openでウィンドウを開いて制御したいのですが、下記の動作ができずに困っています。

そもそもできない動作なのでしょうか?
できるとしたらその方法など教えてください。

環境はLinux+PHP+JavaScript
ブラウザはIEで試しています。


①あるページAから子ウィンドウBを開きます。
(この時点でページAは、Bウィンドウの親ページになります。)

②ページAはページCにリンクなどで遷移します。
(ページAとページCは同一ドメインのページです)

ページCから、ページBの制御等は行なえるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/01/31 18:26:07
  • 終了:2007/02/07 18:30:03

回答(2件)

id:hmiyaza1 No.1

hmiyaza1回答回数32ベストアンサー獲得回数32007/02/01 11:42:09

ポイント35pt

質問の意図が、「最終的にページCから、JavaScriptで子ウィンドウBのオブジェクトを操作したい」であると理解しました。

ページAで子ウィンドウBを開く時に、子ウィンドウBのウィンドウハンドラ(以下 ハンドラ)を取得してると思います。

そのハンドラがないと子ウィンドウBをJavaScriptで操作することはできません。

つまり、ページAからページCに遷移した時に、ハンドラを引き渡す必要があります。

実現可能かわかりませんが、隠しフレームを使用してハンドラを引き渡してみてはいかがでしょうか?

id:smart007

ハンドラの引渡しも考えたのですが、

リンクの数が多い+それからのページ遷移も多いので諦めたのです…。

window.nameからオブジェクトを得る事はやはり難しいのでしょうか?

2007/02/01 13:16:22
id:susie-t No.2

susie-t回答回数99ベストアンサー獲得回数182007/02/01 14:12:51

ポイント35pt

できるみたいです。

http://chaichan.hp.infoseek.co.jp/qa5500/qa5806.htm

サンプル。

[parent1.htm]
<html>
<head>
<title></title>
</head>
<body>
<button onclick="window.open('child.htm', 'subWin');">OPEN</button>
<a href="parent2.htm">parent2.htm</a>
</body>
</html>
-----------------------------------
[parent2.htm]
<html>
<head>
<title></title>
<script>
function test(){
  subWin = window.open("", "subWin");
  alert(subWin.document.getElementById("test").value);
}
</script>
</head>
<body>
<button onclick="test();">TEST</button>
</body>
</html>
-----------------------------------
[child.htm]
<html>
<head>
<title></title>
</head>
<body>
<input type="text" id="test" value="CHILD"/>
</body>
</html>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません