我有一个运行良好的网络通知脚本。但是,当我在 chrome 版本 43 中进行测试时,我收到错误“DOMException:注册失败 - 权限被拒绝”。此错误发生在订阅阶段。
这是通常的注册过程的代码片段
navigator.serviceWorker.register('sw.js').then(function(reg) {
console.log('[ServiceWorker] Registration Obj', reg);
reg.pushManager.subscribe({
userVisibleOnly: true
}).then(function(sub) {
//This never executes and catch gets called
console.log('Subscription successful, Subscription endpoint:', sub.endpoint);
}).catch(function(error) {
console.log("Error during subscription ", error);
});
}).catch(function(error) {
if (Notification.permission === 'denied') {
console.warn('Permission for Notifications was denied');
} else {
console.error('Unable to subscribe to push.', error);
}
});
在上面的代码中,错误发生在我执行的步骤中reg.pushManager.subscribe()。
- 这在 chrome 49 中不会发生。
- 这个错误总是出现在 chrome 版本 43 上。
[注意] 我认为这是 chrome 版本 43 的一般问题,但是当我检查 goroost.com 和 pushcrew 等网站时,它们似乎工作正常。只有我的不工作

