《Window》.postMessage( 値 , オリジン );メッセージの送信は、メッセージを送るwindowオブジェクトに用意されている「postMessage」というメソッドで行います。第1引数には送信する値、第2引数には送信先のオリジン(これは、要するにドメインのことと考えていいでしょう)を指定します。
《Window》.onmessage = 関数;メッセージがそのウインドウに送られてくるとwindowオブジェクトの「onmessage」イベントが発生します。このイベントのための関数を設定しておくことで、受信したデータを取り出し処理できます。
《Window》.addEventListener('message', 関数 );
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※inline.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>インライン表示</title>
<style>
h1 { font-size: 14pt; padding: 1px 10px;
border-style: solid; border-width: 0px 0px 2px 7px; border-color:blue; }
body { background: #DDEEFF; }
article { background: white; margin: 10px; padding: 10px; }
</style>
<script type="text/javascript">
window.addEventListener('message', function(event){
var msg = '受信メッセージ: <br>' + event.data;
document.querySelector('#msg').innerHTML = msg;
});
</script>
</head>
<body>
<header>
<h1>Inline page</h1>
</header>
<article>
<p id="msg">web messaging</p>
</article>
</body>
</html>
※index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>タイトル</title>
<style>
h1 { font-size: 14pt; padding: 1px 10px;
border-style: solid; border-width: 0px 0px 2px 7px; border-color:red; }
body { background: #FFEECC; }
article { background: white; margin: 10px; padding: 10px;}
</style>
<script type="text/javascript">
function doAction(){
var val = new Date();
var iframe = document.querySelector('#inframe');
iframe.contentWindow.postMessage(val,'http://localhost/');
}
</script>
</head>
<body>
<header>
<h1>WebMessaging Sample</h1>
</header>
<article>
<p id="msg">Web Messaging</p>
<button onclick="doAction();">click</button>
<hr>
<iframe src="inline.html" id="inframe" frameborder="1px"
width="300px" height="200px"></iframe>
</article>
</body>
</html>
| 次へ >> |