我有一個可以正常工作的Web通知腳本。但是,當我使用chrome版本43進行測試時,出現錯誤「DOMException:註冊失敗 - 權限被拒絕」。訂閱階段發生此錯誤。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);
}
});
在上面的代碼的通常處理中,在步驟其中i做reg.pushManager.subscribe()
發生錯誤。
- 這不會發生鉻49
- 此錯誤總是發生在Chrome版本43
[注]我認爲它是一個普遍的問題與Chrome版本43,但是當我檢查網站像goroost.com和pushcrew,他們似乎工作正常。只有我的不工作
您是否擁有鏈接到頁面的清單,其中包含正確的gcm_sender_id和gcm_user_visible_only值? – Marco
是的,明顯有這兩個領域。它也適用於其他版本的Chrome。 –
這兩個catch函數中的哪一個被調用?最後一個?如果是這樣,兩個消息中的哪一個被記錄?最後一個問題,爲什麼你需要支持這樣一箇舊版本的Chrome?它在近一年前發佈! – Marco