そもそもできない動作なのでしょうか?
できるとしたらその方法など教えてください。
環境はLinux+PHP+JavaScript
ブラウザはIEで試しています。
①あるページAから子ウィンドウBを開きます。
(この時点でページAは、Bウィンドウの親ページになります。)
②ページAはページCにリンクなどで遷移します。
(ページAとページCは同一ドメインのページです)
ページCから、ページBの制御等は行なえるのでしょうか?
質問の意図が、「最終的にページCから、JavaScriptで子ウィンドウBのオブジェクトを操作したい」であると理解しました。
ページAで子ウィンドウBを開く時に、子ウィンドウBのウィンドウハンドラ(以下 ハンドラ)を取得してると思います。
そのハンドラがないと子ウィンドウBをJavaScriptで操作することはできません。
つまり、ページAからページCに遷移した時に、ハンドラを引き渡す必要があります。
実現可能かわかりませんが、隠しフレームを使用してハンドラを引き渡してみてはいかがでしょうか?
できるみたいです。
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>
ハンドラの引渡しも考えたのですが、
リンクの数が多い+それからのページ遷移も多いので諦めたのです…。
window.nameからオブジェクトを得る事はやはり難しいのでしょうか?