下面是客户端代码,在ie8上,这部分报错,求方法,让socket.io在ie8上运行 var url = location.host; socket = io(url);
跪求啊,官方文档上没找到关于在ie8上的运行方法
socket.io提供了针对各个版本浏览器的‘socket’功能的封转:websocket,长连接,流,flash什么的。给你格式化下代码:
if (/Firefox/\s/.test(navigator.userAgent)){ var socket = io.connect(‘127.0.0.1:8000’,{transports:[‘xhr-polling’]}); } else if (/MSIE (\d+.\d+);/.test(navigator.userAgent)){ var socket = io.connect(‘127.0.0.1:8000’,{transports:[‘jsonp-polling’]}); } else { var socket = io.connect(‘127.0.0.1:8000’); }
socket.io支持4种协议:[“websocket” , “htmlfile” , “xhr-polling” , “jsonp-polling”],如果浏览器不支持websocket 和 htmlfile (如IE8)就会启用 xhr-polling(ajax) 或 jsonp-polling来接收发送消息
@broven 这种我试过了,不行啊
是socket.ioa版本的原因,最新版的socket.io不支持 var lookup = new Uint8Array(256);
换成1.0.6就解决了