HTML5 中瀏覽上下文之間的雙向通訊


瀏覽上下文之間的雙向通訊稱為 Channel 訊息傳遞。它可用於跨多個來源進行通訊。

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

  • postMessage() − 透過 Channel 傳送訊息
  • start() − 傳送資料
  • close() − 關閉埠

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

更新於:29-Jan-2020

291 次瀏覽

開啟你的 職業

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.