ขณะสร้าง messageChannel มันจะสร้าง port สองตัวภายในเพื่อส่งข้อมูลและส่งต่อไปยัง browsing context อื่น
postMessage()— ส่งข้อความผ่าน channelstart()— เริ่มส่งข้อมูลclose()— ปิด port
ในสถานการณ์นี้ เราส่งข้อมูลจาก iframe หนึ่งไปอีก iframe หนึ่ง เราเรียกข้อมูลใน function และส่งต่อไปยัง DOM
ตัวอย่าง
var loadHandler = function() {
var mc, portMessageHandler;
mc = new MessageChannel();
window.parent.postMessage('documentAHasLoaded', 'https://foo.example', [mc.port2]);
portMessageHandler = function(portMsgEvent) {
alert(portMsgEvent.data);
}
mc.port1.addEventListener('message', portMessageHandler, false);
mc.port1.start();
}
window.addEventListener('DOMContentLoaded', loadHandler, false);