1

我有一个带有文件链接的页面。单击链接时,我使用下面的代码显示加载消息:

$('#TerritoriesToExcelLink').click(function() {
    $('#TerritoriesToExcelLoading').show();
    window.location.href = $(this).attr('href');
});

下载文件并在浏览器中弹出保存对话框后,我想隐藏该消息。

我尝试添加一些会触发的代码,ready()但这似乎只是立即运行(可能是因为即使文件没有加载页面也已经加载),因此加载消息永远不会显示。

文件完全下载后如何隐藏加载消息?

4

3 回答 3

3

让您的服务器发送您从客户端代码中指定的随机 cookie,并在 HTTP 标头中下载。轮询您的 Javascript 以检查 cookie 的存在。这应该会告诉您浏览器何时拥有您的文件。

于 2013-02-19T09:46:35.303 回答
2

如果你不反对使用闪光灯......

您可以在页面上创建一个不可见的 flash 对象,然后当您单击下载链接时,您可以触发 flash 下载文件,然后处理 flash 下载完成事件并使用 ExternalInterface API 在 javascript 中引发事件。

于 2013-02-19T09:48:47.957 回答
1

这对于前端 javascript 是不可能的,它无法检索下载进度,并且它没有任何与下载相关的事件。

我认为跟踪进度也不能用服务器端语言来完成。

于 2013-02-19T09:40:03.847 回答