Edge 17 - PushManager. Сбой подписки с AbortError - PullRequest
0 голосов
/ 10 июня 2018

Edge 17 поддерживает Service Workers и, по-видимому, также PushManager.

Однако, хотя моя реализация Push-уведомлений работает во всех браузерах, которые их поддерживают, она не работает с 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' с:

[объект DOMException]: {код: 20, сообщение: "AbortError", имя: "AbortError"}

Это известная проблема с Edge?Я что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

У меня была точно такая же проблема в Edge, однако она работала нормально в Chrome, и я попробовал несколько вариантов на разных системах, считая, что это проблема с моим кодом, однако через некоторое время он начал работать точно так же, как и объект подпискибыл создан.

<< Скорее всего, это произойдет, если поставщик услуг недоступен или не может успешно ответить с помощью объекта подписки >>

reg.pushManager.subscribe(subscribeParams)
        .then(function (subscription) {
            console.log('[subscribe] : user subscribed');
        })
0 голосов
/ 03 ноября 2018

Я получаю эту ошибку, поэтому я посмотрел на этот код, который работает:

https://webpushdemo.azurewebsites.net/

Что исправило для меня, была эта часть:

navigator.serviceWorker.ready.then(/* registration function here*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...