【问题标题】:IE long-pooling with suspended connection XMLHttpRequest带有挂起连接 XMLHttpRequest 的 IE 长池
【发布时间】:2011-05-19 02:17:12
【问题描述】:

我有一个很好的问题。

我有一个暂停请求和流式传输数据的应用程序。客户端将是使用长轮询的 IE6+。

对于 IE6,XMLHttpRequest 响应数据仅在 state==4 中可用。因为我的应用程序正在暂停对流数据的请求,所以在我恢复请求之前我不会收到 state==4,所以我会卡在 state==3 中。

在 Firefox 或 Chrome 中,如果我在 state==3 中执行 abort(),它将切换到 state==4 并很好地退出,但在 IE 中,如果我执行 abort(),状态将变为 ==0。而且我永远不会处于状态==4。

我虽然使用了超时,但看起来 IE 中不存在超时。

编辑

我认为,我可以通过在请求中传递 resumetimeout 属性并在服务器中创建一个将恢复连接的计时器来解决此问题。

【问题讨论】:

    标签: ajax xmlhttprequest comet long-polling


    【解决方案1】:

    在服务器中使用 Runnable 将恢复请求修复 IE 的限制。

    【讨论】:

      【解决方案2】:

      不久前我花了一些时间来解决这个问题,我意识到 IE 将开始返回数据,因为下载发生在下载阈值量(我认为是 512 字节)之后。因此,如果您只是在响应开始时发送一些填充,那么 IE 就会开始表现得与其他浏览器相同。

      【讨论】:

        猜你喜欢
        • 2011-02-08
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多