WebWorkers and WebSockets with Firefox



我正试图在WebWorker中实现一个可工作的WebSocket连接。这应该很简单,如果我使用Chrome作为浏览器的话。然而,由于这个实验应该进一步成为产品的一部分,我需要它来处理所有伟大的浏览器,也就是Firefox。

我的问题是我无法让它与Firefox一起工作。起初Firefox无法创建WebWorker。这是一个Bug,已在版本9中修复。但现在看来,它将无法在Worker中创建WebSocket。

我尝试了以下代码行:

var ws = new WebSocket(url);

失败的原因:

WebSocket is not defined

好吧,根据这一点,它应该起作用。但无论是在WebWorker内部还是在此上下文之外,它都不是。我试过旧的

var ws = new MozWebSocket(url);

它似乎在WebWorker之外工作,但我在它内部得到了与上面相同的错误。

现在,问题出在哪里?我知道WebSockets在一些旧版本中被默认禁用,但版本9应该支持与Chrome类似的功能(至少他们是这么说的)。那么我是不是做错了什么?

我使用的是Ubuntu 11.10,还没有测试其他浏览器。

提前感谢!

Firefox中的worker还不支持WebSocket。看见https://bugzilla.mozilla.org/show_bug.cgi?id=504553

更新:Firefox 35增加了支持。

最新更新