AJAX页面下载进度

时间:2008-12-30 06:26:10

标签: javascript ajax jquery

我想了解我的AJAX请求的进度 - 到目前为止已经下载了多少文件的数量。例如,我正在使用AJAX下载大图片,因此我可以将内容放在DATA网址中(这可能不是最好的方法,这只是一个例子。)

因此,我向某些主机发出AJAX请求,我无法控制(flickr),并将进度报告给用户。没有服务器端脚本或类似的东西,我找不到这样做的方法。优选地,解决方案将使用JQuery,因为这是我用于我的网站的。 谢谢!艾萨克

2 个答案:

答案 0 :(得分:13)

据我所知,$ .ajax()函数不支持“bytes loaded”。它只有开始和完成的事件,没有进展事件。

我发现this thread详细说明了一次尝试,但显然代码可以在多个浏览器中运行,但不适用于IE。他们提出的建议是显示其他浏览器的进度,以及IE的简单“加载...”消息。

请注意,同一网站上有几个类似的讨论,因此请浏览左侧面板以了解其他方法。

答案 1 :(得分:2)

某些浏览器为下载状态事件提供支持,您可以跟踪进度(我知道ff 3.5+确实如此)。

这是由ajax XHR完成的。

您可以阅读更多herehere

另外,可以将数组中的文件拆分(假设我们将其分成10个部分),

现在发送1peace,然后返回成功,进度= 10%等...