Javascript 尽管我在后台运行挂起的AJAX请求,但如何使web浏览器完成加载过程?

Javascript 尽管我在后台运行挂起的AJAX请求,但如何使web浏览器完成加载过程?,javascript,ajax,loading,comet,polling,Javascript,Ajax,Loading,Comet,Polling,我试图实现一个简单的“comet”ajax长轮询机制(如上所述) 问题是,我不知道如何让浏览器像加载完页面一样工作,尽管它有一个挂起的请求在后台运行。(l) 一种方法是使用web套接字,但这太过分了。您需要异步调用ajax您需要异步调用ajax啊,古老的“末日悸动者”:-) 关于这一点,可能值得一读。它指的是iFrame,但很可能仍然相关 我在写Kwwika的时候写了这篇文章,但我得出了一个不幸的结论,那就是要100%摆脱它并不容易 我认为WebSocket实际上并不是过度使用。Comet使用X

我试图实现一个简单的“comet”ajax长轮询机制(如上所述)

问题是,我不知道如何让浏览器像加载完页面一样工作,尽管它有一个挂起的请求在后台运行。(l)


一种方法是使用web套接字,但这太过分了。

您需要异步调用ajax

您需要异步调用ajax

啊,古老的“末日悸动者”:-)

关于这一点,可能值得一读。它指的是iFrame,但很可能仍然相关

我在写Kwwika的时候写了这篇文章,但我得出了一个不幸的结论,那就是要100%摆脱它并不容易

我认为WebSocket实际上并不是过度使用。Comet使用XMLHttpRequest等并不是web浏览器基本上支持的标准。换句话说,他们并没有特意让创建长期HTTP请求变得非常容易。WebSocket是一种标准化的方法,在所有浏览器中都逐渐得到支持。我希望他们能进入IE10。现在,您可以看看这样的东西,它将确保99%的浏览器支持WebSocket。WebSocket还提供了比任何类型的轮询解决方案更低的延迟和更少的资源密集度。

啊,古老的“末日悸动者”:-)

关于这一点,可能值得一读。它指的是iFrame,但很可能仍然相关

我在写Kwwika的时候写了这篇文章,但我得出了一个不幸的结论,那就是要100%摆脱它并不容易


我认为WebSocket实际上并不是过度使用。Comet使用XMLHttpRequest等并不是web浏览器基本上支持的标准。换句话说,他们并没有特意让创建长期HTTP请求变得非常容易。WebSocket是一种标准化的方法,在所有浏览器中都逐渐得到支持。我希望他们能进入IE10。现在,您可以看看这样的东西,它将确保99%的浏览器支持WebSocket。WebSocket还提供了比任何轮询解决方案更低的延迟和更少的资源密集度。

好的,我已经设法解决了这个问题。之所以出现“末日悸动”问题,是因为我在document.ready函数下执行了ajax请求,如下所示:

$(函数(){$.ajax…})

这就解决了它:

$(函数(){setTimeout(connect,1000);})


好吧,我已经设法解决了这个问题。之所以出现“末日悸动”问题,是因为我在document.ready函数下执行了ajax请求,如下所示:

$(函数(){$.ajax…})

这就解决了它:

$(函数(){setTimeout(connect,1000);})


谢谢现在基于web的聊天使用什么技术?facebook和gmail使用哪些技术?我不能100%保证他们使用什么,但在facebook上使用Chrome中的网络标签看起来他们使用HTTP长轮询。他们调用频道URL,如
http://0.113.channel.facebook.com/x/2913703439/3177502653/true/p_684921145=0
并保持该连接打开。Gmail似乎使用普通的老式轮询,并调用
频道/bind
url。那些使用我工作的公司的技术来构建实时聊天、互动或协作应用程序的人之所以使用这些技术,是因为这正是我们所使用的。谢谢。现在基于web的聊天使用什么技术?facebook和gmail使用哪些技术?我不能100%保证他们使用什么,但在facebook上使用Chrome中的网络标签看起来他们使用HTTP长轮询。他们调用频道URL,如
http://0.113.channel.facebook.com/x/2913703439/3177502653/true/p_684921145=0
并保持该连接打开。Gmail似乎使用普通的老式轮询,并调用
频道/bind
url。使用我所在公司的技术来构建实时聊天、互动或协作应用程序的人之所以使用这些技术,是因为这正是我们所使用的。