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

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

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


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

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

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

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/02/07 18:30:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:hmiyaza1 No.1

回答回数32ベストアンサー獲得回数3

ポイント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

回答回数99ベストアンサー獲得回数18

ポイント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>

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

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

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

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

回答リクエストを送信したユーザーはいません