новый Websocket () возвращает неверный объект в Firefox Quantum - PullRequest
0 голосов
/ 12 декабря 2018

Я использую Firefox Quantum (64.0), а команда JS new WebSocket() возвращает объект, отличный от спецификации:

MDN Websocket

Стандарт HTML

Отсутствующее свойство, которое влияет на мое приложение, - это функция .close(), но есть и другие отличия.

На изображении ниже видно, что возвращаемый объект имеет.websocket porperty, который содержит все недостающие. объект websocket

Я что-то не так делаю?С более старыми версиями Firefox (до Quantum, например 43) или с Chrome он работает нормально.

Если это проблема с Firefox, как я могу сообщить об этом?

РЕДАКТИРОВАТЬ:

Добавить пример кода:

var exampleSocket = new WebSocket("wss://echo.websocket.org");
exampleSocket.close() // Throw "exampleSocket.close is not a function" in Firefox Quantum, works on chrome
exampleSocket.websocket.close() // Works on Firefox, Throw on chrome.

This exampleSocket.websocket отсутствует в документации.

Edit2: я тестировал на других машинах с Firefox версий 60, 61, 63 и 64, и проблема возникла только на моей машине.Когда я удалил все плагины из Firefox, он снова начал работать.

1 Ответ

0 голосов
/ 12 декабря 2018

Проблема была в установленном мной плагине websocketsniff .

Он даже заявляет, что объект WebSocket изменится:

Проверка фреймов веб-сокетов в Firefox,Как использовать: 1) Открыть Инструменты разработчика 2) Открыть вкладку «Websocket Sniffer»

Это расширение заменяет собственный объект websocket для пользовательского объекта.Это грязный взлом, но это единственное решение

...