我正在实现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上。
3条答案
按热度按时间lpwwtiir1#
Firebase Answer及其工作
默认情况下,service worker脚本(firebase-messaging-sw.js)应该位于应用程序的绝对路径上。使用快速入门项目,位置将为http://localhost:5000/firebase-messaging-sw.js。
由于您正在使用不同的服务器存储静态文件,因此service worker脚本位置可能不相同或不正确。因此,我们需要更新service worker注册代码实现,并从不同的位置调用service worker脚本。
找到service worker脚本的静态位置。在我的例子中,它是http://localhost:5000/sw/firebase-messaging.sw.js,因为我将service worker脚本的位置移动到了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.js和http://localhost:5000/sw/firebase-cloud-messaging-push-scope。
谢谢firebase
2vuwiymt2#
您可以通过使用service worker手动加载
firebase-messaging-sw.js
来修复此问题。假设你有两个文件:
index.html
和firebase-message-sw.js
。它们在同一个位置。1.在
index.html
中,加载firebase.js
并初始化你的firebase应用:字符串
2.实施
firebase-messaing-sw.js
型
搞定了!
6pp0gazn3#
我用的是下一个13,我用它来处理中间的衣服,就像这样:
第一个月