Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

วัตถุ MessageChannel และ MessagePort ใน HTML5 คืออะไร


ในขณะที่สร้าง messageChannel มันสร้างพอร์ตสองพอร์ตภายในเพื่อส่งข้อมูลและส่งต่อไปยังบริบทการสืบค้นอื่น

  • postMessage() - โพสต์ช่องทางการส่งข้อความ
  • start() - ส่งข้อมูล
  • close() - มันปิดพอร์ต

ในสถานการณ์นี้ เรากำลังส่งข้อมูลจาก iframe หนึ่งไปยัง iframe อื่น เรากำลังเรียกใช้ข้อมูลในฟังก์ชันและส่งข้อมูลไปยัง 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);