Firefox Push API - AbortError:检索推送订阅时出错

时间:2015-12-28 08:05:56

标签: web-push push-api firefox-nightly

我正在使用Firefox Nightly的46.0a1版本(OS X只有42v,Push API需要43v)。我收到了这个错误:

DOMException [AbortError: "Error retrieving push subscription"
code: 20
nsresult: 0x80530014]

这里是抛出此错误的片段:

navigator.serviceWorker.ready.then(function (serviceWorkerRegistration) {

        serviceWorkerRegistration.pushManager.subscribe()
            .then(function (subscription) {
                endpoint = subscription.endpoint;
                console.log('subscription endpoint: ', subscription.endpoint);
                subscribeOnServer();
            })
            .catch(function (e) {

                // here that error is raised

                errorNotification.innerHTML = 'Unable to subscribe to push';
            }
        });
    });
在Chrome中,这个地方不会抛出任何东西,而是通过正确的终端获得订阅。

请帮忙

3 个答案:

答案 0 :(得分:1)

它并不适合我。

您的代码段中存在语法错误,但我认为这不是问题(否则它也会在Chrome中失败)。

这是我使用过的代码段:

navigator.serviceWorker.ready
.then(function(serviceWorkerRegistration) {
  console.log('asd');
  serviceWorkerRegistration.pushManager.subscribe()
  .then(function(subscription) {
    endpoint = subscription.endpoint;
    console.log('subscription endpoint: ', subscription.endpoint);
  })
  .catch(function(e) {
    console.log(e);
  });
});

答案 1 :(得分:1)

我最近发现,如果您的浏览器位于不支持 Web 套接字的代理后面(推送服务在内部使用 Web 套接字),则可能会出现此错误。

答案 2 :(得分:0)

当我的 service-worker 出现错误(试图访问 indexedDb 中不存在的存储)时,我收到了这个错误,所以即使它安装了但推送通知没有因为上述错误被订阅。