Chrome 69不支持Firebase SDK

时间:2018-09-06 08:32:55

标签: firebase google-chrome firebase-realtime-database browser-support

昨天一切正常,今天早上我注意到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时工作正常。

5 个答案:

答案 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)中,它也会引发此错误。