【发布时间】:2018-06-10 08:38:06
【问题描述】:
Edge 17 支持 Service Worker,显然还支持 PushManager。
但是,即使我的推送通知实现在所有支持它们的浏览器中都可以工作,但它似乎不适用于 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: “中止错误”}
这是 Edge 的已知问题吗?我做错了什么吗?
【问题讨论】:
-
您确定 applicationServerKey 有一个值并且它不是“null”或“undefined”吗?
-
@WarPro 是的,它适用于所有其他浏览器。
-
我对 Edge 有完全相同的问题。你找到解决办法了吗?
-
@Nevius - 不......我想这只是微软创建自己的“标准”,所以我们必须做一些与其他浏览器完全不同的事情,才能让它在他们的浏览器上工作。
-
我们遇到了同样的问题,它是由我们服务器中的 DNS 配置错误引起的。确保您的服务器可以公开解析,然后通知应该可以工作。
标签: push-notification microsoft-edge service-worker pwa