BroadcastChannel: messageerror 事件
注意:此功能在 Web Workers 中可用。
当无法反序列化的消息到达通道时,BroadcastChannel
接口的 messageerror
事件就会触发。
语法
在像 addEventListener()
这样的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("messageerror", (event) => { })
onmessageerror = (event) => { }
事件类型
一个 MessageEvent
。继承自 Event
。
事件属性
除了下面列出的属性外,父接口 Event
的属性也可以使用。
data
只读-
消息发射器发送的数据。
origin
只读-
表示消息发射器来源的字符串。
lastEventId
只读-
表示事件唯一 ID 的字符串。
source
只读-
消息事件源,可以是 WindowProxy、
MessagePort
或表示消息发射器的ServiceWorker
对象。 ports
只读-
一个
MessagePort
对象数组,表示消息正在通过的通道关联的端口(在适当的情况下,例如在通道消息传递或将消息发送到共享工作器时)。
示例
此代码使用 addEventListener()
监听消息和错误
js
const channel = new BroadcastChannel("example-channel");
channel.addEventListener("message", (event) => {
received.textContent = event.data;
});
channel.addEventListener("messageerror", (event) => {
console.error(event);
});
相同的方法,但使用 onmessage
和 onmessageerror
事件处理程序属性
js
const channel = new BroadcastChannel("example-channel");
channel.onmessage = (event) => {
received.textContent = event.data;
};
channel.onmessageerror = (event) => {
console.log(event);
};
规范
规范 |
---|
HTML 标准 # event-messageerror |
HTML 标准 # handler-broadcastchannel-onmessageerror |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- 相关事件:
message
。