首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载准备就绪时播放声音

下载准备就绪时播放声音
EN

Stack Overflow用户
提问于 2015-03-20 05:29:15
回答 1查看 51关注 0票数 0

用户选择一些选项,然后单击“下载”。此时,我的php脚本开始准备文件,在文件准备就绪并开始下载之前,它可能需要5-10分钟。我想用声音通知用户下载已经启动。

我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-20 14:09:06

根据这一问题:

Is there a way to detect the start of a download in JavaScript?

没有可编程的方法来检测何时开始下载。这个问题现在已经六年了,也许已经过时了,但我找不到更多的最新资料来反驳它。

另一种方法是将下载过程分成两部分,以便您能够控制实际数据传输何时开始:

  1. 而不是立即启动下载,让按钮向服务器发送AJAX请求,要求它准备下载的文件。
  2. 服务器不应该立即回复AJAX,而是应该准备文件并将其保存在具有唯一生成的名称/ID的临时文件存储区域中。
  3. 一旦文件准备就绪,服务器应该用文件的名称/ID来回复AJAX。
  4. 在客户机上,AJAX完成回调可以播放声音,因为它知道下载即将开始。
  5. 然后,它使用window.open()从服务器请求文件。
  6. 现在,服务器可以像以前一样使用适当的头进行响应。
  7. 最后,服务器可以从临时存储中删除文件(或者只是等待cron作业来完成)。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29160002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档