Two way communication between the browsing contexts in HTML5


Two-way communication between the browsing contexts is called channel messaging. It is useful for communication across multiple origins.

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

  • postMessage() − Post the message throw channel
  • start() − It sends the data
  • close() − it close 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.

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

Updated on: 29-Jan-2020

225 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements