Channel Messaging API の MessageChannel インターフェースは、新しいメッセージ チャンネルを作成し、2 つの MessagePort プロパティを通して、その間でデータを送信できます。
注: この機能は Web Worker 内で利用可能です
var channel = new MessageChannel(); var para = document.querySelector('p'); var ifr = document.querySelector('iframe'); var otherWindow = ifr.contentWindow; ifr.addEventListener("load", iframeLoaded, false); function iframeLoaded() { otherWindow.postMessage('Hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handleMessage; function handleMessage(e) { para.innerHTML = e.data; }
完全に動作する例は、Github 上の channel messaging basic demo を参照してください(実際のデモも実行できます)。
表示内容: |
表示内容: |