socket.io连接事件没有在firefox中触发

Pra*_*nth 11 socket.io socket.io-1.0

我有类似下面的代码.

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost:8080');
  socket.on('connect', function(){
      socket.on('some-event', function(data) {});
  });
  socket.on('disconnect', function(){});
</script>
Run Code Online (Sandbox Code Playgroud)

在连接回调中,我有一些响应消息的代码.这对铬合金非常好.在第一页加载它在Firefox上工作正常.如果您重新加载页面,则不会调用connect事件.

我使用1.4.8版本的服务器和js客户端

Pra*_*nth 3

我使用以下代码解决了它。不是很干净,但目前这有助于我们推进项目。正如您所看到的,问题是连接事件在页面重新加载后未触发,因此我决定如果连接从未触发,则在超时后附加事件。

function attachEventListners() {
    socket.on('some-event', function(data) {});
}

var attached = false;
socket.on('connect', function(){
      attachEventListners();
      attached = true;
});

setTimeout(function() {
    if (!attached) {
        attachEventListners();
    }
}, 1000);
Run Code Online (Sandbox Code Playgroud)