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 を参照してください(実際のデモも実行できます)。
| 表示内容: |
| 表示内容: |