Edge 17 - PushManager.Subscribe因AbortError失败

问题描述 投票:4回答:2

Edge 17支持Service Workers,显然也支持PushManager。

但是,即使我的Push Notifications实现适用于所有支持它们的浏览器,它似乎也不适用于Edge。

if ('PushManager' in window) {
    registration.pushManager.subscribe({
        userVisibleOnly: true,
        applicationServerKey: urlBase64ToUint8Array('xxxxxxx')
    })
    .then(function(subscription) {
        console.log('All good');
    })
    .catch(function(err) {
        console.error(err);
    });
}

这与'catch'失败:

[object DOMException]:{code:20,message:“AbortError”,name:“AbortError”}

这是Edge的已知问题吗?我做错了吗?

push-notification microsoft-edge service-worker pwa
2个回答
0
投票

我收到此错误,所以我看看这个有效的代码:

https://webpushdemo.azurewebsites.net/

为我修复的是这部分:

navigator.serviceWorker.ready.then(/* registration function here*/

0
投票

我在Edge上遇到了完全相同的问题,但在Chrome上工作正常,并尝试了不同系统的多个选项,认为我的代码存在问题,但它开始工作一段时间完全相同的代码工作,即订阅对象正在创建。

<<如果服务提供商不可用或者无法成功响应订阅对象,则很可能发生这种情况>>

reg.pushManager.subscribe(subscribeParams)
        .then(function (subscription) {
            console.log('[subscribe] : user subscribed');
        })
© www.soinside.com 2019 - 2024. All rights reserved.