人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptのwindow.openでウィンドウを開いて制御したいのですが、下記の動作ができずに困っています。
そもそもできない動作なのでしょうか?
できるとしたらその方法など教えてください。

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


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

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

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


●質問者: smart007
●カテゴリ:ウェブ制作
✍キーワード:IE JavaScript Linux open PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hmiyaza1
●35ポイント

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

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

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

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

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

◎質問者からの返答

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

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

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


2 ● susie-t
●35ポイント

できるみたいです。

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>
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ