私はうまく動作するWeb通知スクリプトを持っています。しかし、私がChrome 43でテストしていたときに、「DOMException:Registration failed - permission denied」というエラーが発生しました。このエラーは、サブスクリプション段階で発生します。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でも動作します。 –
2つのキャッチ関数のどちらが呼び出されていますか?最後のもの?その場合、2つのメッセージのどちらがログに記録されますか?最後の質問ですが、なぜこのような古いバージョンのChromeをサポートする必要がありますか?それはほぼ一年前にリリースされました! – Marco