当我以隐身模式打开Chrome浏览器时,服务工作文件执行然后出错.
获得以下错误
messaging/permission-blocked"
message:"Messaging: The required permissions were not granted and blocked instead. (messaging/permission-blocked)."
stack:"FirebaseError: Messaging: The required permissions were not granted and blocked instead. (messaging/permission-blocked).? at d (https://www.gstatic.com/firebasejs/3.6.2/firebase-messaging.js:30:200)"
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个Firebase通知Web应用程序。当我从Web应用程序登录时,我生成FCM令牌并将其发送到我的API服务器,这工作正常。我在代码中编写了onTokenRefresh方法,但无法测试此代码。有什么方法可以测试此代码?
firebase.initializeApp(config);
messaging = firebase.messaging();
// Get Instance ID token. Initially, this makes a network call, once retrieved
// subsequent calls to getToken will return from cache.
messaging.requestPermission().then(function() {
return messaging.getToken();
}).then(function(currentToken) {
if (currentToken) {
sendTokenToServer(currentToken);
updateUIForPushEnabled(currentToken);
} else {
// Show permission request.
console.log('No Instance ID token available. Request permission to generate one.');
// Show permission UI.
updateUIForPushPermissionRequired();
setTokenSentToServer(false);
}
})
.catch(function(err) {
console.log('An error occurred while retrieving token. ', err);
showToken('Error retrieving Instance ID token. ', err); …
Run Code Online (Sandbox Code Playgroud) javascript firebase firebase-cloud-messaging firebase-notifications
当我们运行 angular 单元测试时,它会启动 chrome 浏览器或 karma.config.js 中提供的浏览器。为什么浏览器需要以及运行 angular 单元测试时到底发生了什么。