我有一个页面,其中包含指向文件的链接。单击链接后,我使用下面的代码显示加载消息:
$('#TerritoriesToExcelLink').click(function() {
$('#TerritoriesToExcelLoading').show();
window.location.href = $(this).attr('href');
});
我想在下载文件后隐藏消息,并在浏览器中弹出保存对话框。
我已经尝试添加一些在ready()
上触发的代码,但这似乎只是直接运行(可能是因为即使文件没有加载页面也是如此),因此加载消息永远不会显示。
如何在文件完全下载后隐藏加载消息?
答案 0 :(得分:3)
让您的服务器通过HTTP标头中的下载,从客户端代码发送您指定的随机cookie。在您的Javascript中进行轮询以检查是否存在cookie。这应该告诉您浏览器何时有您的文件。
答案 1 :(得分:2)
如果您不反对使用闪光灯...
您可以在页面上创建一个不可见的Flash对象,然后当您单击下载链接时,您可以触发flash下载文件,然后处理Flash下载完成事件并使用ExternalInterface API在javascript中引发事件。
答案 2 :(得分:1)
这不可能与前端javascript有关,它无法检索下载进度,也没有任何与下载相关的事件。
我认为无法使用服务器端语言跟踪进度。