下载文件时的临时消息

Interim message when downloading a file

在我的网站上,我可以选择显示一些数据并以 csv 格式下载。一些数据非常大(SQL 中有 20,000 - 900,000 行)。当我在网站上显示它时,我使用分页,因此它一次只能快速显示 x 行,但是,下载 link 当然应该并且正在下载整个报告,这可能需要几秒钟到几秒钟分钟取决于文件大小。我想知道是否有一种方法可以创建一个临时弹出窗口或内联消息,上面写着 "Gathering Information..." 之类的内容,我可以在其中另外放置一个动画 gif,以便用户知道正在发生的事情。创建它应该不是问题,但我不确定是否有办法在下载弹出窗口出现后触发它消失。我在这个网站上看到的解决方案都建议使用计时器,但在这种情况下这不是一个选项,因为时间会有很大差异。

我使用的是经典 ASP 所以我想使用它或 JavaScipt。如果有所不同,我还可以使用闪光灯。

我可能会将 "Gathering info..." 消息设置为在收到来自服务器的 Comet 样式消息时隐藏,该消息可以在文件准备好下载时立即发送出去。

其要点是使用您使用纯 javascript 或 jquery cookie 设置的 cookie,以便于使用。然后,您将 cookie 的名称发送到您的服务器,该服务器会在发送后随文件一起发送对所述 cookie 的更新。

与此同时,您有一些 JS 代码可以定期检查 cookie 以查看其是否已更新,然后可以相应地更新布局。

我最终以不同的方式进行了此操作。在我的网站上,我有一个我们将调用 "default.asp" 的页面,该页面是一个 link 到另一个 asp 我们将调用 "download.asp"。 download.asp 是执行 SQL 查询和创建报告的代码,这意味着这是等待的地方。准备好报告后,将显示用于保存、打开等的弹出窗口。我最终做的是创建一个默认情况下隐藏的 div 。单击下载按钮时,div 将取消隐藏,然后在显示弹出窗口之前,我再次隐藏 div。希望这对其他人也有帮助。