在浏览器中确定文件下载完成
在此查询中,用户请求一个解决方案来确定文件下载何时在浏览器中完成。这些知识使他们能够删除文件生成时显示的“等待”指示器。
最初的方法涉及使用 POST 请求向服务器提交隐藏表单并针对结果的隐藏 iframe。但是,在文件中设置“Content-Disposition:附件”标头(通常会提示浏览器显示“保存”对话框)不会在 iframe 中触发所需的“加载”事件。
或者,使用多部分响应通过发送空 HTML 文件和可下载文件来部分解决了 Firefox 中的问题。但由于浏览器不一致,在 Internet Explorer 和 Safari 中失败。
客户端 JavaScript 解决方案
更可靠的解决方案在于在客户端使用 JavaScript:
服务器端实现
服务器将检查唯一令牌的请求如果存在,则删除相应的 cookie。
示例代码
JavaScript(客户端):
[提供 JavaScript 代码]
PHP(服务器端):
[PHP 代码提供]
此方法有效地防止多次提交尝试,并确保仅在下载开始时删除“等待”指示器。
以上是如何使用 JavaScript 在浏览器中检测文件下载何时完成?的详细内容。更多信息请关注PHP中文网其他相关文章!