このpushsubscriptionchange
イベントは、プッシュ通知サーバーがクライアントに再サブスクライブを要求したときに、ブラウザーによって発生します。テストのためにこのイベントを手動でトリガーするにはどうすればよいですか?
質問する
3078 次
2 に答える
5
残念ながら、この機能のエンド ツー エンドのテストを行うことはできません。あなたができる最善の方法は、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"));
});
}
于 2016-04-13T14:51:32.707 に答える
5
このイベントは、ユーザーがプッシュ許可を削除して再付与したときにもトリガーされます ( https://github.com/w3c/push-api/issues/116を参照)。
たとえば、Firefox では、サイト ID アイコンをクリックし、[許可] セクションで [通知の受信] に対して [ブロック] を選択し、[許可] を選択します。
pushsubscriptionchange
イベントがトリガーされます。
于 2016-04-13T17:48:46.927 に答える