1

解決済み

クライアントページに変更innerTextしました。innerHTML


テストするコードがあり、Google Chrome では正常に動作しますが、Firefox では動作しません! 何が問題を引き起こす可能性がありますか?!

サーバーコード:

var http = require('http'),
    io;

var html = require('fs').readFileSync("./index.html").toString('utf-8');

var server = http.createServer(function (request, response) {
    'use strict';
    response.statusCode = 200;
    response.setHeader('Content-Type', 'text/html');
    response.end(html);
});

server.listen(8124);

io = require('socket.io').listen(server);

function push(socket) {
    'use strict';

    var i = 0;
    return function () {
        socket.send(String(i++ % 3600));
    };
}

io.sockets.on('connection', function (socket) {
    'use strict';

    var interval = setInterval(push(socket), 1000);
    socket.on('disconnect', function () {
        clearInterval(interval);
    });
});

クライアントコード:

<!DOCTYPE html>
<title>Socket.IO Example</title>
<div id="number"></div>
<script src="/socket.io/socket.io.js"></script>
<script>
    var io = io || undefined,
        socket = io.connect(),
        numberElement = document.getElementById('number');

    socket.on('message', function (data) {
        numberElement.innerText = data;
    });
</script>

Firefox デバッガー

Error: The connection to ws://127.0.0.1:8124/socket.io/1/websocket/O_dTsMb1uMKPtpPdqSVG was interrupted while the page was loading.
Source File: http://127.0.0.1:8124/socket.io/socket.io.js
Line: 2371

そのコードの 2371 行目は次のとおりです。

this.websocket = new Socket(this.prepareUrl() + query);

どうすれば問題を解決できますか?!

4

0 に答える 0