脚本资源位于重定向之后,这是不允许的

Car*_*ira 5 javascript firebase firebase-cloud-messaging

我正在实施 firebase 消息传递,但在 chrome 的控制台上出现错误。

脚本资源位于重定向之后,这是不允许的。/firebase-messaging-sw.js 无法加载资源:net::ERR_UNSAFE_REDIRECT

文件 /firebase-messaging-sw.js 在公共文件夹中,我正在使用像这样的 FCM 安装 https://github.com/firebase/quickstart-js/tree/master/messaging

但是授权链接是一个类似https://09029e3f.ngrok.io/admin/pt/settings/notifications的链接 。但主要网站在 main.domain.com

Car*_*ira 3

Firebase 答案及其工作原理

默认情况下,服务工作线程脚本 (firebase-messaging-sw.js) 应位于应用程序的绝对路径上。使用快速启动项目,位置将为http://localhost:5000/firebase-messaging-sw.js

由于您使用不同的服务器来存储静态文件,因此服务工作线程脚本位置可能不相同或不在适当的位置。这样,我们需要更新 Service Worker 注册代码实现并从不同位置调用 Service Worker 脚本。

找到 Service Worker 脚本的静态位置。就我而言,它是http://localhost:5000/sw/firebase-messaging.sw.js,因为我将服务工作脚本位置移到了 sw 文件夹内。要验证它是否可以访问,请尝试在浏览器地址栏中输入 url,并且应该会显示 Service Worker 脚本代码。从https://www.gstatic.com/firebasejs/ /firebase.js本地下载 firebase.js 脚本,并在需要显示通知的网页上将其命名为 /firebase.js">。

更新 firebase-messaging.js 脚本。找到关键字 firebase-messaging-sw.js 和 ,然后添加路径作为前缀。就我而言,它是http://localhost:5000/sw/firebase-messaging-sw.jshttp://localhost:5000/sw/firebase-cloud-messaging-push-scope

非常感谢火力基地