奇怪的beforeunload事件问题

时间:2013-04-12 07:55:37

标签: node.js websocket socket.io

我发现了一个奇怪的问题,beforeunload事件。

看看这段代码 -

客户端JavaScript:

var socket = io.connect('http://localhost:1337');

socket.on('connect', function() {
    window.addEventListener("beforeunload", function () {
        socket.emit('out');
    });
});

服务器node.js:

/* Basics */
var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(1337, null);

io.set('transports', ['xhr-polling']);

// routing
app.get('/', function (req, res) {
    res.sendfile("index.html");
    app.use(express.static(__dirname));
});

io.sockets.on('connection', function (socket) {
    socket.on('out', function() {
        console.log('disconnected');
    });
});

如果我继续启动服务器并转到localhost:1337并关闭标签,服务器就不会 记录disconnected

我发现如果我删除该行 - io.set('transports', ['xhr-polling']);
服务器将记录disconnected

为什么服务器不在xhr-polling中记录disconnected

感谢所有试图提供帮助的人。

0 个答案:

没有答案