AJAX 页面下载进度

IT技术 javascript ajax jquery
2021-02-10 01:41:08

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

因此,我向某个我无法控制的主机 (flickr) 发出 AJAX 请求,并将进度报告给用户。如果没有服务器端脚本或类似的东西,我无法找到一种方法来做到这一点。最好的解决方案是使用 JQuery,因为这是我在我的网站上使用的。谢谢!以撒

2个回答

据我所知, $.ajax() 函数不支持“加载的字节数”。它只有开始和完成事件,没有进度事件。

我发现这个线程详细说明了一次尝试,但显然该代码适用于多种浏览器,但不适用于 IE。他们提出的建议是在其他浏览器中显示进度,并为 IE 显示一个简单的“正在加载...”消息。

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

某些浏览器提供对下载状态事件的支持,您可以在其中跟踪进度(我知道 ff 3.5+ 可以)。

这是由 ajax XHR 完成的。

你可以在这里这里阅读更多

此外,可以将一个文件拆分为一个数组(假设我们将其拆分为 10 个部分),

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

但是拆分文件是一个非常糟糕的主意,因为握手在 HTTP 中需要很长时间。
2021-03-21 01:41:08
链接不是答案。
2021-04-08 01:41:08