代码之家  ›  专栏  ›  技术社区  ›  George Duckett

下载文件后如何执行一些javascript?

  •  1
  • George Duckett  · 技术社区  · 11 年前

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

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

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

    我已经尝试添加一些启动的代码 ready() 但这似乎只是直接运行(可能是因为页面已经加载,即使文件还没有加载),所以加载消息永远不会显示。

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

    3 回复  |  直到 11 年前
        1
  •  3
  •   Plynx    11 年前

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

        2
  •  2
  •   Dean North    11 年前

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

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

        3
  •  1
  •   Matt Cain Amit    11 年前

    这与前端javascript无关,它无法检索下载进度,也没有任何与下载相关的事件。

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