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