어제 우리는이 문제를 해결하기 위해 더 많은 시간을 보냈습니다. 그래서 마지막 도랑 노력으로 나는 여기에 게시하고 있습니다.Socket.io IE7-9 JSONP 폴링 오류
우리의 설정은 Node.js/Express 백엔드입니다. Socket.io는 express와 같은 포트에 있습니다.
app.io = io.listen(server);
app.io.set('origin', '*');
app.io.set('log level', '2');
app.io.enable('browser client minification');
app.io.set('transports', [
'websocket',
'flashsocket',
'htmlfile',
'xhr-polling',
'jsonp-polling'
]);
모든 전송을 명시 적으로 사용하도록 설정했습니다. 우리는 jsonp 또는 플래시 소켓이 가장 선호하지 않는 브라우저에서 훌륭하게 재생되기를 바랬습니다 ...
하지만 우리가 가장 좋아하지 않는 이유가 있다고 생각합니다. ;-)
클라이언트 측 socket.io와 함께 Angularjs 애플리케이션이 있습니다. 아주 느슨하게 우리는 작업 flashsockets를 얻을 수 here을 볼 때 SWF의 위치를 추가하려고했습니다 this tutorial
window.WEB_SOCKET_SWF_LOCATION = 'https://api.ourdomain.com/socket.io/static/flashsocket/WebSocketMain.swf';
var socket = io.connect('https://api.ourdomain.com', {
'reconnect' : true,
'reconnection delay' : 1500
});
에 따라. 그것은 정책을 제공하고 파일을 받고 .. 그래서 운이 없다. 때때로 io.j[1]("1::");
와이 같은 될 JSONP 메시지의
Object doesn't support this property or method
내용 : 어쨌든 ie7-9에
는 우리가이 오류가 JSONP 폴링을 통해 연결을 시도 할 때 콘텐츠가 더 많습니다.
io.j가 주 socket.io.js 파일의 배열로 설정되어있는 것처럼 보입니다.
개발자 도구 콘솔에 넣으면 같은 오류가 발생합니다.
here과 같은 스크립트가 나오기 전에 모든 메타 태그를 이동하려고했습니다. 그것은 아무것도 바뀌지 않았습니다.
XHR 폴링이 작동하지 않는 것 같습니다. 즉, 설정을 변경하는 것에 관한 게시물을 보았습니다. 그러나 분명히 우리 고객이 가서 우리 사이트를 방문하기 위해 브라우저 설정을 변경하도록 IT 부서에 요청할 필요는 없습니다. 그래서 우리는 그 방법을 버렸습니다.
빈 페이지를 만들고 연결하는 중 .. 시도했습니다. 작동합니다. 그러면 무엇이 방해가 될까요?
바라건대 너희들이 뭔가를 가지고 있을까?