firefox websocket onmessage事件无效。

代码:

let protocol = (location.protocol == 'https:') ? 'wss' : 'ws';
let host = location.host;

ws = new WebSocket(`${protocol}://${host}/ws`)

ws.onopen = function() {
    console.info('Websocket connetion established.');
};

ws.onmessage = function (event) {
    console.info('Get one piece of message.');
};

在 Chrome 上可以正确触发 onopen 和 onmessage 事件,但是 firefox 上只能触发 onopen 事件,控制台输入如下:

// chrome
// User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36

clipboard.png

// firefox
// User-Agent: Mozilla/5.0 (Macintosh; Intel …) Gecko/20100101 Firefox/68.0

clipboard.png

阅读 4.5k
1 个回答

怕不是你自己服务器的问题。

clipboard.png

clipboard.png

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题