pushsubscriptionchange
当推送通知服务器希望客户端重新订阅时,浏览器会触发该事件。如何手动触发此事件进行测试?
问问题
3078 次
2 回答
5
不幸的是,无法对此功能进行任何端到端测试。您可以做的最好的事情是通过服务工作者的 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"));
});
}
于 2016-04-13T14:51:32.707 回答
5
当用户删除并重新授予推送权限时也会触发该事件(请参阅https://github.com/w3c/push-api/issues/116)。
例如,在 Firefox 中,您可以单击站点标识图标,在“权限”部分中,为“接收通知”选择“阻止”,然后选择“允许”。
pushsubscriptionchange
将触发一个事件。
于 2016-04-13T17:48:46.927 回答