小编Jef*_*f T的帖子

Socket.IO和IE8 - jsonp-polling连接总是失败

值得注意的是:以下是通过https跨域完成的.老实说,我认为这不是问题,因为在IE10,Chrome和FF中一切正常.我的猜测是它可能是IE8中的XDomainRequest对象差异?不过不确定.

sendLoginRequest下面的方法是首先调用的方法.所有其他支持代码也在下面提供.

这一切都非常简单,但不确定为什么IE8会失败.

function WrappedSocket(data, session_string) {
    var clientSocket = io.connect('https://xxxxxxxx/socketio', { query: "session=" +       encodeURIComponent(session_string), transports: ['jsonp-polling'] });
    clientSocket.socket.on("connect", function () { console.log("CONNECT_SUCCEED"); });
    clientSocket.socket.on("connect_failed", function () { console.log("CONNECT_FAILED");    });
    clientSocket.socket.on("reconnect_failed", function () {    console.log("RECONNECT_FAILED"); });
    clientSocket.socket.on("error", function (eobj) { console.log("Socket error " + eobj);    });
    console.log("Made a socket that is talking");
}

var my_socket;


function set_up_socket(data, sessionString) {
    setSession(data.responseText);
    my_socket = new WrappedSocket(data, sessionString);
    my_socket.socket.emit("message", "Howdy!");
}

function sendLoginRequest(loginCode, nextRequest) {
    var xhr = createCORSRequest('POST', 'https://xxxxx/login', …
Run Code Online (Sandbox Code Playgroud)

javascript sockets jquery internet-explorer-8 socket.io

6
推荐指数
1
解决办法
1429
查看次数