浏览器下载完成事件


问题内容

我们一直在寻找答案,但是还没有找到解决方案。

我们有一个Web服务器,允许用户下载动态生成的文件(pdf),并通过servlet提供服务。我们想知道下载何时完成(以及如何:成功,失败,用户取消了吗?)。

没有用户输入,有没有办法知道这一点?这些文件相对较小,因此不需要进度条功能,但是我们需要某种“挂勾”功能,可以在下载完成后向您报告。这可能吗?

[edit]浏览器端将具有什么功能来检测下载结束并通过ajax向服务器报告?


问题答案:

除非收到网络错误,否则您将无法知道。唯一的方法是让浏览器将第二个事件发送到服务器(使用AJAX)以确认下载已成功完成。