排序websockets草稿和浏览器支持

时间:2011-10-23 02:23:18

标签: websocket

在提出这个问题时,Mozilla说FF7实现了第8版(草案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

两者都会导致相同的链接:

http://tools.ietf.org/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.html

Chrome 14通过,FF7失败。 BTW,IE 9也失败了,但Opera 11.52通过了。那么我怎么知道哪个版本在websocket.org上运行并确定FF7是否确实实现了草案10?

2 个答案:

答案 0 :(得分:1)

如果您查看该页面的源代码,您会注意到他们正在实现这样的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 versions and backwards compatibility

答案 1 :(得分:0)

http://websocket.org/echo.html网站已更新 - 它正在使用FF7:

单击connect后,您将收到有关MozWebSocket对象的“警告”: 信息:此浏览器使用MozWebSocket构造函数支持WebSocket