こちら側のコード
<script type="text/javascript"> if ( window.attachEvent ) { window.attachEvent('onmessage',function(e) { document.getElementById("msg").value = e.data; document.getElementById("origin").value = e.origin; }); } else { window.addEventListener('message',function(e) { document.getElementById("msg").value = e.data; document.getElementById("origin").value = e.origin; }, false); } </script> <input type="text" id="msg"> <input type="text" id="origin" style='width:400px;'> <br><br> <iframe src="http://lightbox.on.coocan.jp/message.htm" name="myframe" frameborder="1" scrolling="yes" width="500" height="100" ></iframe>
別ドメインの IFRAME 内のコード parent で直接 HTML 内のオブジェクトにはアクセスできませんが、 parent の postMessage で、そのウインドウにメッセージを post 可能です。これは、逆でも同じで、こちらがわから IFRAME に対して post するには、IFRAME のオブジェクトの contentWindow.postMessage を実行します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> </head> <body> <input type="text" id="message" style='width:200px;' value="日本語表示" > <input type="button" value="post" onclick='parent.postMessage(document.getElementById("message").value, "*")' > </body> </html>
|
【クロスドメインの最新記事】