【问题标题】:AJAX Page Download progressAJAX页面下载进度
【发布时间】:2008-12-30 06:26:09
【问题描述】:

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

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

【问题讨论】:

  • 不是显示图片下载进度的最佳方式,因此了解您实际想要做什么会有所帮助... .
  • 这个 [stackoverflow thread][1] 讨论了同样的问题。 [1]:stackoverflow.com/questions/76976/…

标签: javascript ajax jquery


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    这是由 ajax XHR 完成的。

    你可以阅读更多herehere

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

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

    【讨论】:

    • 但是拆分文件是一个非常糟糕的主意,因为在 HTTP 中握手需要很长时间。
    • 链接不是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2013-09-23
    • 2013-10-03
    • 1970-01-01
    相关资源
    最近更新 更多