昨天一切正常,今天早上我注意到chrome正在引入一个新界面,之后我检查了chrome版本,现在已更新为v69。到目前为止,一切都很好。 然后,我运行了与Firebase链接的服务器。但是我开始得到这个:
09:46:30.598 index.esm.js?76ac:2069 Uncaught FirebaseError {code: "messaging/unsupported-browser", message: "Messaging: This browser doesn't support the API's …he firebase SDK. (messaging/unsupported-browser).", stack: "FirebaseError: Messaging: This browser doesn't sup….0.0.0:8000/index.js?d00bc69e0c69f561d4af:2672:1)"}code: "messaging/unsupported-browser"message: "Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser)."stack: "FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).
at Object.factoryMethod [as messaging] (webpack-internal:///311:2077:32)
at FirebaseAppImpl._getService (webpack-internal:///30:134:66)
at FirebaseAppImpl.(anonymous function) [as messaging] (webpack-internal:///30:323:31)
at Object.serviceNamespace [as messaging] (webpack-internal:///30:308:32)
at eval (webpack-internal:///66:51:36)
at Object.<anonymous> (http://0.0.0.0:8000/index.js?d00bc69e0c69f561d4af:1240:1)
at __webpack_require__ (http://0.0.0.0:8000/index.js?d00bc69e0c69f561d4af:708:30)
at fn (http://0.0.0.0:8000/index.js?d00bc69e0c69f561d4af:113:20)
at eval (webpack-internal:///286:55:11)
at Object.<anonymous> (http://0.0.0.0:8000/index.js?d00bc69e0c69f561d4af:2672:1)"__proto__: Error
简短的错误提示:Messaging: This browser doesn't support the API's required to use the firebase SDK
降级为chrome 68是一种解决方案,但是有人有更好的主意吗?
编辑:
系统信息:Pop!_OS 18.04 LTS Linux(64位)
Chrome版本:69.0.3497.81(官方内部版本)(64位)
节点版本:v10.9.0
编辑:
服务器在部署到生产环境和Firefox时工作正常。
答案 0 :(得分:3)
当您不使用HTTPS或localhost
时,会发生此问题。官方文档中对此进行了记录:source
FCM SDK仅在通过HTTPS服务的页面中受支持。这个到期了 其使用服务工作者的方式,仅在HTTPS上可用 网站。
当然,您的问题是由0.0.0.0而不是由Noureldean Swearky正确指出的localhost
引起的。
答案 1 :(得分:2)
编辑:https://github.com/firebase/firebase-js-sdk/issues/1220#issuecomment-421317994
SSL一定有问题
我当时在没有SSL的Amazon S3存储桶中进行测试。
现在,我看到的唯一解决方案是检查chrome版本并在69中禁用firebase。
它破坏了整个应用程序,我正在努力。我们使用Firebase Cloud Messaging进行推送通知,直到Chrome 68一切都很好。
在localhost中工作,但在生产中不工作。
更新了脚本:
https://www.gstatic.com/firebasejs/5.5.0/firebase-app.js https://www.gstatic.com/firebasejs/5.5.0/firebase-messaging.js
没有成功。
有趣的事情:当我调试Chrome
if ('Notification' in window) {
console.log('supported'); } else {
console.log(' not supported'); }
它表示支持push API。
答案 2 :(得分:1)
解决方案
我正在研究0.0.0.0:8000
,将其更改为localhost:8000
并成功了,有人会争论巨大的差异,我会反过来...
答案 3 :(得分:0)
尝试使用最新的Firebase JS库Version 5.4.2 - August 30, 2018
。
解决了在某些环境中全局
navigator
不可用的问题。
...,而NodeJS
版本则无关紧要。
答案 4 :(得分:0)
这看起来像是Firefox中的错误/规范冲突。在当前版本的Firefox Nightly(版本64)中,它也会引发此错误。