【问题标题】:Socket.IO works with Firefox and Edge but doesn't work with Chrome?Socket.IO 适用于 Firefox 和 Edge,但不适用于 Chrome?
【发布时间】:2018-10-16 21:29:42
【问题描述】:

我对 Python 还很陌生,我正在尝试在 Flask/Socket.IO 上构建一些东西。在开始之前,我决定学习this example。我在 Firefox 和 Edge 上对其进行了测试,效果非常好,我可以实时获取数字,但在 Chrome 上我只会获取没有数字的页面。我打开控制台,什么也没有,看来 Socket 无法连接到 Chrome。我做了一些研究,找不到任何类似的问题,感谢任何建议!

【问题讨论】:

  • Flask 使用 Adob​​e Flash 对吗?如果是这样,则默认情况下可能会在 Chrome 中禁用 Flash。为什么不在浏览器端使用基于 webSocket 的 socket.io?
  • 看起来问题不在于 Adob​​e Flash。使用基于 websocket 的 socket.io 是什么意思?谢谢!
  • 我相信 chrome 由于安全问题或不完全支持它而禁用了 socket.io。这与 Adob​​e Flash 无关。
  • @yoonghm - 这是不正确的。 Chrome 不会禁用 socket.io。他们在某些情况下会禁用 Adob​​e Flash。
  • 这就是为什么我说它与 Adob​​e Flash 无关

标签: python flask socket.io


【解决方案1】:

您使用哪个版本的谷歌浏览器?我刚刚在我的“Version 69.0.3497.100 (Official Build) (64 bit)”上进行了测试,效果很好。

所以考虑到您拥有相同(或更高)版本的 Chrome,试试这个:

删除您的浏览数据(图像和缓存文件)并刷新页面。在您的 HTML 页面中,缓存文件和从 CDN 加载的文件之间可能存在冲突。

如果还是不行,试试这个:

在您的 templates/index.html 文件中,将行 <script src="static/js/application.js"></script> 替换为 <script src="{{url_for('static',filename='js/application.js')}}"></script> 以加载 javascript 文件。最后重新加载服务器。有关如何将静态文件加载到烧瓶中的更多详细信息,请参阅here。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-08-03
    • 2019-11-15
    • 2023-01-14
    • 1970-01-01
    • 2019-10-26
    • 2021-06-05
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多