使用window.location下载文件时显示加载程序图标



在一个小的JavaScript Web应用中,我正在使用

window.location = '[url]/download-file';

实际下载文件作为附件。在服务器端,我将内容分配用作'附件;文件名= xyz.xml'这很好,我能够在浏览器上触发下载而不实际重新加载当前页面(由于它是一个页面应用程序,我也需要保持DOM的当前状态,即使下载完成后。)

但是,我想在下载文件时显示一个小的Ajax Loader SVG。我对显示/隐藏加载程序的逻辑没有任何问题。我正在挣扎的地方是在窗口时如何显示加载程序。Location启动,并在解决后(浏览器下载提示似乎保存文件时)将其隐藏。)

当浏览器HTTP请求启动时,我可以在JavaScript中听一个事件以显示/隐藏加载程序,直到浏览器HTTP请求停止?

由于这是不可能的,我将使用服务器侧cookie跟踪是否已发送响应,如以下堆栈溢出问题的答案所述:检测浏览器何时接收文件下载

最新更新