我有一个网页通知脚本,它运行良好。然而,在测试Chrome 43版本时,我遇到了错误"DOMException:Registration failed - permission denied"。此错误发生在订阅阶段。
以下是常规注册过程的代码片段:
在上述代码中,错误发生在我执行
以下是常规注册过程的代码片段:
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这样的网站时,它们似乎运行良好。只有我的网站不能正常工作。