IE是从10版本开始支持WebSocket的,但是我在js中写完WebSocket后,其他浏览器可以正常运行,但是到IE就报错,查了一圈后仍然没有解决这个错误,最后发现:WebSocket的协议ws与wss的区别,这类比于http与https,而我的后端又做了SSL,所以请求地址中是https,相应的js中的WebSocket的协议也应该是wss,改完之后立马就可以了。
之前是:var webSocket = new WebSocket('ws://127.0.0.1:9100');
修改后:var webSocket = new WebSocket('wss://127.0.0.1:9100');
也可以用SocketJS来代替WebSocket,因为SocketJS对于不支持WebSocket的浏览器会自动切换为streaming或者polling来处理请求。经过测试后我发现,SocketJS可以支持较低版本的IE,实在是妙啊!!!