socket.io在ie8下无法发出消息,只能收到信息
我客户端的代码如下: 建立socket:
var url = location.host;
if (/Firefox\/\s/.test(navigator.userAgent)){
socket = io.connect(url,{transports:['xhr-polling']});
}else if (/MSIE (\d+.\d+);/.test(navigator.userAgent)){
socket = io.connect(url,{transports:['jsonp-polling']});//'jsonp-polling']});
}else {
socket = io.connect(url);
}
发送消息:
socket.emit("private message",str);
接受消息:
socket.on('connect', function () {
socket.on('msg', function(message) {
addMsgToScreen("private_msg",message);
});
});
但是在IE环境下,无法发出消息,只可以接受消息,而chrome没问题。 抓包发现点击发送后无反应,同时ie下定时做类似轮询的工作,但是整个时间很短。见下图 好吧,图片上传不了 Uncaught SyntaxError: Unexpected token < ajaxupload.js:618 (anonymous function) 先这样吧,大神们来看看
5 回复
以上均是游览器端的代码,下面是服务器端
function sendMsgTo(name,msg){
var user = OLlist[name];
if(user){
user.emit("msg",msg);
}
}
io.set('transports', ['websocket','flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']);
试试
set过这行代码,貌似这行代码可以解决ie访问时服务器报错宕机的问题
您好,DeNA在招聘资深Node.js的职位,您有兴趣了解一下吗?
你可以在论坛里专门发一篇帖子介绍一下吗,我很有兴趣了解一下