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