Chromeでwindow.openで開いた子ウィンドウに開いた直後に親ウィンドウから値を設定したいのですがうまく行きません。
Firefoxでも設定出来ませんでしたが、window.open直後でデバッガで処理を止めて少し経ってから処理を再開すると動作しました。
Firefoxの場合は、子ウィンドウの描画が完了していたら要素が存在するので上手く行くようです。
Chromeの場合は、デバッガでwindow.open直後に処理を止めても駄目でした。
jQueryによる要素の取得でもgetElementByIdでも同様でした。
解決策などご存知の方がいらっしゃいましたら、教えて頂けますでしょうか。
親画面でメッセージを保持しておいて、子画面側で読み込み完了時openerを使ってに取得するくらいしか思いつきません。
よろしくお願いいたします。
【親画面のソース】
HTML
1<html lang="ja"> 2<head> 3 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 4 <title>子画面へ設定</title> 5 <script type="text/javascript" src="jquery-2.1.4.min.js"></script> 6 <script> 7 8 var win; 9 10 function openChildWindow() { 11 win = window.open("chat.html", "WindowName","width=600,height=500,resizable=yes,scrollbars=yes"); 12 var messageArea = win.$("#messageArea"); 13 messageArea.append("<div>open直後に設定</div>"); 14// var messageArea = win.document.getElementById('messageArea'); 15// messageArea.innerHTML ="open直後に設定"; 16 } 17 18 function notify() { 19 var messageArea = win.document.getElementById('messageArea'); 20 messageArea.innerHTML ="openしてから別で設定"; 21 22 } 23 24 </script> 25</head> 26<body> 27 <input type="button" id="childOpenButton" value="子画面を開く" onclick="openChildWindow();"/> 28 <input type="button" id="notificationButton" value="子画面へ通知" onclick="notify();"/> 29</body> 30</html> 31
【子画面のソース】
HTML
1<html lang="ja"> 2<head> 3 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 4 <title>子画面</title> 5 <script type="text/javascript" src="jquery-2.1.4.min.js"></script> 6 <script> 7 </script> 8</head> 9<body> 10 <div id="messageArea"></div> 11</body> 12</html> 13 14コード

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/11 02:29