What are the MessageChannel and MessagePort Objects in HTML5?



While creating messageChannel, it internally creates two ports to send the data and forwarded it to another browsing context.

  • postMessage() − Post the message throw channel
  • start() − It sends the data
  • close() − it closes the ports

In this scenario, we are sending the data from one iframe to another iframe. Here we are invoking the data in function and passing the data to DOM.

Example

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);

Advertisements