父页面与iframe相互通信

120 阅读1分钟

iframe向父页面发送消息

iframe发消息

window.parent.postMessage(
    {
      key: "updateIframeUrl",
      data: "子页面向父页面发送消息",
    },
    "*"
  );

父页面接收消息

window.addEventListener(
  "message",
  (e) => {
    console.log("message", e);
  },
  false
);

父页面向iframe发送消息

父页面发消息

document
    .getElementById("mapIframe")
    .contentWindow.postMessage("父页面向子页面发送消息", "*");

iframe接收消息

window.addEventListener(
  "message",
  (e) => {
    console.log("子页面接收到的message", e);
  },
  false
);

参考资料

MessageEvent - Web API | MDN (mozilla.org)

window.postMessage - Web API | MDN (mozilla.org)