跳到主要内容

message

2025年01月07日
柏拉文
越努力,越幸运

一、认识


**message**事件是在窗口接受到消息(例如,从另一个浏览器上下文中调用 Window.postMessage())时,在 Window 对象上触发的事件。

二、语法


window.addEventListener('message', function(event) { ... })
window.onmessage = function(event) { ... }
  • event:

    • data: 从其他 window 中传递过来的对象

    • origin: 调用 postMessage 时消息发送方窗口的 origin

    • source: 对发送消息的窗口对象的引用; 您可以使用此来在具有不同 origin 的两个窗口之间建立双向通信。

三、场景


3.1 浏览器两个 Tab

  1. A Tab 页面

    <h2>A 页面</h2>
    <button>跳转 B 页面</button>
  2. B Tab 页面

    <h2>B 页面</h2>

3.2 浏览器中 Iframe 通信

  1. A 页面

    <h2>A 页面</h2>
    <iframe src="./b.html"></iframe>
  2. B Iframe 页面

    <h2>B 页面</h2>