我在Ubuntu 11.04中运行Firefox 7,我注意到socket.io正在从网络套接字回退到xhr-polling,所以我在Firefox的控制台中键入WebSocket
,然后
[00:48:21.224] ReferenceError: WebSocket is not defined
在谷歌浏览器14上我得到了
WebSocket
function WebSocket() { [native code] }
根据this,自firefox 4以来部分支持WebSockets,并且自firefox 6以来完全支持。
它只是在linux上的firefox中有所不同吗?
答案 0 :(得分:6)
在Firefox 4/5中,WebSockets支持存在但已禁用(通过about:config激活)。在Firefox 6中,默认情况下Mozilla启用了WebSockets,但添加了“Moz”前缀。另请注意,Firefox 6使用较新的HyBi协议和W3C API。 Chrome在Chrome 14中添加了HyBi协议,尽管Chrome从未使用过前缀。
该协议已经有效完成,官方的第一版预计将在大约6周内发布(电汇格式在几个月内没有显着变化)。 API已经相当稳定了几个月,Chrome 14+和Firefox 6+基本上具有相同的API实现。出于某种原因,Mozilla选择使用WebSockets前缀比平常更加谨慎。也许这是对谷歌不小心为不稳定的API添加前缀的反应。
除非您对二进制消息支持,特定错误和关闭条件处理或子协议选择感兴趣,否则自几年前Chrome引入它以来,WebSockets API基本上是相同的。如果您正在实施WebSockets服务器,那么您将需要了解在过去两年中发生重大变化的协议的各种版本。
答案 1 :(得分:2)
请尝试MozWebSocket
。
https://developer.mozilla.org/en/WebSockets#AutoCompatibilityTable
答案 2 :(得分:2)
Firefox 7支持hybi-10“开箱即用”。我一直在运行它,我的Firefox 7支持hybi-10“开箱即用”。我一直在对我的websocket服务器运行它。您可以尝试使用Firefox 7进行在线演示,如果您有任何问题,请告诉我。我已经从Ubuntu 11进行了测试。我现在已经开始测试了。