首页 > web前端 > js教程 > 如何使用 JavaScript 在浏览器中检测文件下载何时完成?

如何使用 JavaScript 在浏览器中检测文件下载何时完成?

Susan Sarandon
发布: 2024-12-19 11:50:11
原创
286 人浏览过

How Can I Detect When a File Download is Complete in a Browser Using JavaScript?

在浏览器中确定文件下载完成

在此查询中,用户请求一个解决方案来确定文件下载何时在浏览器中完成。这些知识使他们能够删除文件生成时显示的“等待”指示器。

最初的方法涉及使用 POST 请求向服务器提交隐藏表单并针对结果的隐藏 iframe。但是,在文件中设置“Content-Disposition:附件”标头(通常会提示浏览器显示“保存”对话框)不会在 iframe 中触发所需的“加载”事件。

或者,使用多部分响应通过发送空 HTML 文件和可下载文件来部分解决了 Firefox 中的问题。但由于浏览器不一致,在 Internet Explorer 和 Safari 中失败。

客户端 JavaScript 解决方案

更可靠的解决方案在于在客户端使用 JavaScript:

  1. 生成一个唯一的令牌并将其与下载请求一起提交。
  2. 显示“等待”指示器。
  3. 轮询服务器是否存在包含令牌的 cookie。
  4. 找到 cookie 后,隐藏“等待”指示器。

服务器端实现

服务器将检查唯一令牌的请求如果存在,则删除相应的 cookie。

示例代码

JavaScript(客户端):

[提供 JavaScript 代码]

PHP(服务器端):

[PHP 代码提供]

此方法有效地防止多次提交尝试,并确保仅在下载开始时删除“等待”指示器。

以上是如何使用 JavaScript 在浏览器中检测文件下载何时完成?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板