ajax – 在加载彗星/服务器推送iframe的时候停止浏览器“throbber of doom”

当使用Comet或Ajax Long Pull技术时 – 通常使用iframe。虽然那个iframe正在等待长连接关闭,浏览器正在旋转其throbber(进度/加载指示器)。

一些网站,例如etherpad.com,设法使它停止。

他们是如何做到的呢?

在互联网的肠子里挖了一天一夜,这里是我想出来的:

>服务器发送的事件 – 非常酷,目前只能在Opera,但可能是HTML5的一部分,其他浏览器可能支持它有时。添加一个内容类型为“application / x-dom-event-stream”的新元素标记,允许服务器触发客户端DOM中的事件。根据我的理解,它不应该显示进度指示器。它也是一个标准的工作草案,而不是像整个iframe彗星事物的黑客。
> XMLHttpRequest – 在Firefox和Safari中,但不是在IE中,它可以用于长拉页面加载,使其能够处理每个readyStateChange事件上显示的片段。将不显示进度指示符*。 – 见下面的评论
> ActiveXObject(“htmlfile”) – 可以在IE中使用,以创建在当前窗口范围之外的页面/窗口。这使进度指示器消失!加载的iframe将位于不可见的浏览器中。

有关服务器发送事件的详细信息:

> http://my.opera.com/WebApplications/blog/show.dml/438711

更多关于其他两种技术(也更好地解释了问题):
* http://meteorserver.org/browser-techniques/

更深入地了解每种技术,以及更多的技术:

> http://cometdaily.com/2007/12/11/the-future-of-comet-part-1-comet-today/
> http://cometdaily.com/2008/01/10/the-future-of-comet-part-2-html-5’s-server-sent-events/

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...