值得注意的是:以下是通过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)