在这个问题出现的时候,Mozilla说FF7实现了version 8 (draft 10):
https://developer.mozilla.org/en/Firefox_7_for_developers WebSockets
最新的关于Chromium的博客文章日期为08-01-2011,也说Chromium支持相同的草案10:
http://blog.chromium.org/2011/08/new-websocket-protocol-secure-and.html都指向同一个链接:
https://datatracker.ietf.org/doc/html/draft-ietf-hybi-thewebsocketprotocol-10然后在维基百科上,它说FF7和Chrome 14也实现了草案10:
http://en.wikipedia.org/wiki/WebSocket但是当我在websocket.org上测试FF7和Chrome 14时
http://websocket.org/echo.htmlChrome 14通过,FF7失败。顺便说一句,IE 9也失败了,但Opera 11.52通过了。那么我如何知道哪个版本在websocket.org上运行,并确定FF7是否确实实现了草案10?
如果你看一下那个页面的源代码,你会注意到他们是这样实现API的:
function testWebSocket()
{
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}
但是对于firefox来说,你应该在第一行使用它,以便能够在FF上使用它:
websocket = new MozWebSocket(wsUri);
因为FF的朋友是这样命名的:D
希望这对你有帮助!
的例子:
function connect() {
if ('WebSocket' in window) {
websocket = new WebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else if ('MozWebSocket' in window) {
websocket = new MozWebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else {
//not supported
return;
}
}
WebSocket版本和向后兼容性
http://websocket.org/echo.html网站已更新-它与FF7工作:
一旦你点击连接,你会得到一个关于MozWebSocket对象的"警告":此浏览器使用MozWebSocket构造函数