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

MessageChannel และ MessagePort Objects ใน HTML5 คืออะไร


ขณะสร้าง messageChannel มันจะสร้าง port สองตัวภายในเพื่อส่งข้อมูลและส่งต่อไปยัง browsing context อื่น

  • postMessage() — ส่งข้อความผ่าน channel
  • start() — เริ่มส่งข้อมูล
  • 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);