为什么XHR和htmlfile更喜欢JSONP?

时间:2012-05-28 11:34:30

标签: socket.io

我正在使用带有Node.js的socket.io。一切都适用于websockets,但我必须支持像IE6和类似的老客户端。我在使用XHR(在IE6上根本不起作用)和htmlfile(从服务器发送工作,但从客户端发送仅适用于第一条消息)时遇到了很多麻烦。变得绝望,我切换到JSONP,一切都很好。

查看socket.io documentation,建议的顺序是:

io.set('transports', [
    'websocket'
  , 'flashsocket'
  , 'htmlfile'
  , 'xhr-polling'
  , 'jsonp-polling'
]);

当JSONP似乎比htmlfile和xhr-polling更可靠时,为什么推荐这样做?

1 个答案:

答案 0 :(得分:1)

这是我发现的:

JSONP使用Firefox在屏幕上产生难看的闪烁,并且与Opera不兼容。因此,对于较旧的Firefox版本和Opera,XHR更好。

最佳解决方案似乎是在检测到浏览器和版本后在客户端上配置传输。