mjs*_*mjs 6 web-push progressive-web-apps
pushsubscriptionchange当推送通知服务器希望客户端重新订阅时,浏览器会触发该事件.如何手动触发此事件进行测试?
不幸的是,无法对此功能进行任何端到端测试。你能做的最好的事情就是通过 Service Worker 的 JS 触发事件:
function triggerSubscriptionChange() {
registration.pushManager.getSubscription().then(subscription => {
if (subscription) {
console.log("subscribed, subscription", subscription);
return subscription.unsubscribe();
}
}).then(() => {
console.log("unsubscribed");
return registration.pushManager.subscribe({
userVisibleOnly: true
});
}).then(subscription => {
console.log("subscribed, subscription", subscription);
self.dispatchEvent(new ExtendableEvent("pushsubscriptionchange"));
});
}
Run Code Online (Sandbox Code Playgroud)
当用户删除并重新授予推送权限时也会触发该事件(请参阅https://github.com/w3c/push-api/issues/116)。
例如,在 Firefox 中,您可以单击站点标识图标,在“权限”部分中,为“接收通知”选择“阻止”,然后选择“允许”。
pushsubscriptionchange将触发一个事件。
| 归档时间: |
|
| 查看次数: |
1993 次 |
| 最近记录: |