Javascript 我们无法注册默认的服务人员
我有文件firebase-messaging-sw.js,它在网络中可见,也在控制台中记录消息。但我得到的是:Javascript 我们无法注册默认的服务人员,javascript,firebase,firebase-cloud-messaging,service-worker,Javascript,Firebase,Firebase Cloud Messaging,Service Worker,我有文件firebase-messaging-sw.js,它在网络中可见,也在控制台中记录消息。但我得到的是: An error occurred while retrieving token. FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker: A bad HTTP response code (404) was
An error occurred while retrieving token. FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script. (messaging/failed-serviceworker-registration).
at https://www.gstatic.com/firebasejs/6.6.1/firebase-messaging.js:1:29909:
我试着检查控制台并进行调试,但不确定错误是什么
firebase-messaging-sw.js文件包含:
importScripts('https://www.gstatic.com/firebasejs/4.1.3/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.1.3/firebase-messaging.js');
console.log("in sw page");
index.html具有以下功能:
firebase.initializeApp({
apiKey: "XXXXXX",
authDomain: "XXXX-XXXXX.firebaseapp.com",
databaseURL: "XXXXXXX",
projectId: "XXXXXX",
storageBucket: "",
messagingSenderId: "XXXXXXX",
appId: "XXXXX"
});
// // Initialize Firebase
const messaging = firebase.messaging();
Notification.requestPermission().then((permission) => {
if (permission === 'granted') {
navigator.serviceWorker.register('firebase-messaging-sw.js')
console.log('Notification permission granted.');
messaging.getToken().then((currentToken) => {
if (currentToken) {
console.log(currentToken);
} else {
// Show permission request.
console.log('No Instance ID token available. Request permission to generate one.');
}
}).catch((err) => {
console.log('An error occurred while retrieving token. ', err);
});
} else {
console.log('Unable to get permission to notify.');
}
});
我希望在用户单击allow后获得一个令牌。
原因可能是什么?有什么解决方法吗?您可以看到错误显示为
HTTP响应代码(404)
。您试图访问的任何资源都不存在。请参阅以下问题和我的答案,试试样品嗨,你们有解决办法吗?如果是,请在这里张贴。我也犯了同样的错误。我的代码在localhost中运行,但在服务器中出错。