我希望确定下载已经开始,最好是使用jQuery。
我正在提供动态创建的下载,需要5-10秒才能创建。我想使用JavaScript向浏览器发布正在创建文件的消息,并在创建完成并开始下载后删除该消息。
发布消息很简单。当用户点击链接时,我可以这样做。我不知道在不再需要时删除邮件的方法。
有没有办法实现这个目标?
答案 0 :(得分:3)
您可以通过脚本提供下载,例如download.php?file = image.jpg
当有人访问它并且脚本开始发送文件时,您可以将其记录在数据库中。
然后,您的站点可以通过查看数据库,对另一个脚本进行ajax调用,该脚本会告知下载是否已经开始。如果它开始你可以隐藏消息,如果不稍晚再打一个电话。
答案 1 :(得分:0)
避免ajax轮询的完全不同的方法:
下载请求的http响应设置了一个cookie,可以在提供下载链接的页面上定期检查。这样您只需轮询浏览器cookie存储而不是服务器。