HTML5 中的 MessageChannel 和 MessagePort 物件是什麼?


在建立 messageChannel 時,它在內部建立兩個埠來發送資料並將其轉發到另一個瀏覽上下文。

  • postMessage() − 透過通道釋出訊息
  • start() − 傳送資料
  • close() − 關閉埠

在該場景中,我們正在將資料從一個 iframe 傳送到另一個 iframe。這裡我們在函式中呼叫 data,並將資料傳遞到 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);

更新於: 25-06-2020

134 人瀏覽

開啟你的 職業生涯

完成課程後獲得證書

開始
廣告
© . All rights reserved.