此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Window:messageerror 事件

基线
广泛可用

自 2023年3月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

当 Window 对象接收到无法反序列化的消息时,会在该对象上触发 messageerror 事件。

此事件不可取消,也不会冒泡。

语法

在 addEventListener() 等方法中使用事件名称,或设置事件处理器属性。

js
addEventListener("messageerror", (event) => { })

onmessageerror = (event) => { }

事件类型

一个 MessageEvent。继承自 Event。

Event MessageEvent

事件属性

此接口还继承了其父接口 Event 的属性。

MessageEvent.data 只读

由消息发送者发送的数据。

MessageEvent.origin 只读

一个字符串,表示消息发送者的源。

MessageEvent.lastEventId 只读

一个字符串,表示事件的唯一 ID。

MessageEvent.source 只读

一个 MessageEventSource(可以是 WindowProxy、MessagePort 或 ServiceWorker 对象),表示消息发送者。

MessageEvent.ports 只读

一个 MessagePort 对象的数组,表示与消息所经通道关联的端口(在适当情况下,例如在通道消息传递中,或向共享 worker 发送消息时)。

示例

使用 addEventListener() 监听 messageerror:

js
window.addEventListener("messageerror", (event) => {
  console.error(event);
});

同样,也可以使用 onmessageerror 事件处理器属性:

js
window.onmessageerror = (event) => {
  console.error(event);
};

规范

规范
HTML
# event-messageerror
HTML
# handler-window-onmessageerror

浏览器兼容性

参见