ServiceWorkerGlobalScope: push 事件
注意:此功能仅在 Service Workers 中可用。
当 service worker 接收到推送消息时,会将 push 事件发送到 service worker 的全局作用域(由 ServiceWorkerGlobalScope 接口表示)。
此事件不可取消,也不会冒泡。
语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("push", (event) => { })
onpush = (event) => { }
事件类型
事件属性
继承其父级 ExtendableEvent 的属性。其他属性
PushEvent.data只读-
返回一个指向
PushMessageData对象的引用,该对象包含发送到PushSubscription的数据。
示例
此示例设置了一个 push 事件的处理程序,该处理程序接收 JSON 数据,解析它,并根据消息中包含的信息分派消息以进行处理。
js
self.addEventListener("push", (event) => {
let message = event.data.json();
switch (message.type) {
case "init":
doInit();
break;
case "shutdown":
doShutdown();
break;
}
});
规范
| 规范 |
|---|
| 推送 API # 对 serviceworkerglobalscope 接口的扩展 |
| 推送 API # dom-serviceworkerglobalscope-onpush |
浏览器兼容性
加载中…