javascript – 在Safari中可以使用Http Streaming Comet吗?

通过HTTP Streaming Comet,我的意思是数据从服务器推送后不会关闭连接的“永远的iframe”/“永远xhr”变体,而不是标准轮询和长轮询,它关闭并重新发送新的请求每个服务器推送事件.

我看了一下dojo.io.cometd软件包,似乎只有轮询实现.我也发现了this example,但即使经过一些修补,我也不会在webkit中工作(我在其他地方工作). This announcement from the safari blog似乎表示可以用xhr,但是找不到任何代码或文档,也不能让它工作.

有没有人知道在Webkit浏览器(Safari和Chrome)中实现HTTP流彗星的技术,脚本,库或演示?

更新

经过一番修补,我发现有两件事情需要做,以便通过XHR在Safari中使用http流:

>响应需要有一个Content-Type:multipart / x-mixed-replace
>在浏览器始终显示更新之前,响应需要发送几个“噪点”字符.我假设这与填充一些内部缓冲区有关.

更新2

我终于可以使用iframe技术在所有浏览器中工作.解决方案的注意事项是只有基于WebKit的浏览器才能收到multipart / x-mixed-replace标头.

解决方法

根据维基百科,HTTP Streaming彗星应该是可能在每个浏览器. “没有框架的页面布局”,Ajax:最终指南. O’Reilly Media,pp.320. ISBN 0596528388,是引用这个信息的参考,所以也许这本书有一个建议如何做到这一点.

另外http://meteorserver.org/还有一个演示,我刚刚在Chrome中确认,客户端库是将数据推送到客户端的服务器.

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面