WebSockets не поддерживаются в Firefox - PullRequest
4 голосов
/ 02 октября 2011

Я использую Firefox 7 в Ubuntu 11.04, и я заметил, что socket.io переключается с веб-сокетов на xhr-опрос, поэтому я набрал WebSocket в консоли Firefox и получил

[00:48:21.224] ReferenceError: WebSocket is not defined

В Google Chrome 14 я получил

WebSocket
function WebSocket() { [native code] }

Согласно this , WebSockets частично поддерживается начиная с firefox 4 и полностью поддерживается начиная с firefox 6.

Отличается ли он тольков Firefox на Linux?

Ответы [ 3 ]

6 голосов
/ 03 октября 2011

В Firefox 4/5 поддержка WebSockets присутствует, но отключена (активируется через about: config). В Firefox 6 Mozilla по умолчанию включала WebSockets, но добавляла префикс «Moz». Также обратите внимание, что Firefox 6 использует более новый протокол HyBi и W3C API. Chrome добавил протокол HyBi в Chrome 14, хотя Chrome никогда не использовал префикс.

Протокол фактически завершен, и официальная первая версия, как ожидается, будет опубликована примерно через 6 недель (формат передачи за месяцы существенно не изменился). API также был довольно стабильным в течение нескольких месяцев, и Chrome 14+ и Firefox 6+ в основном имеют одинаковую реализацию API. По какой-то причине Mozilla решила быть более осторожной, чем обычно, с префиксом WebSockets. Возможно, это реакция на то, что Google недостаточно осторожен с префиксами нестабильных API.

Если вы не заинтересованы в поддержке двоичных сообщений, обработке конкретных ошибок и закрывающих условий или выборе подпротокола, API WebSockets практически не изменился с тех пор, как Chrome представил его пару лет назад. Если вы внедряете сервер WebSockets, вам необходимо знать о различных версиях протокола, в которых произошли значительные изменения за последние 2 года.

2 голосов
/ 05 октября 2011

Firefox 7 поддерживает Hybi-10 "прямо из коробки". Я запускал его против моей Firefox 7, поддерживающей hybi-10 "прямо из коробки". Я запускаю его на своем сервере веб-сокетов. Вы можете попробовать мою онлайн-демонстрацию с Firefox 7 и сообщить мне, если у вас есть какие-либо проблемы. Я проверил это из Ubuntu 11. Я настроил это прямо сейчас.

2 голосов
/ 02 октября 2011

Попробуйте MozWebSocket вместо.

https://developer.mozilla.org/en/WebSockets#AutoCompatibilityTable

...