加载新标签页/下载文件后,我是否需要处理JS事件?

时间:2018-09-20 12:46:29

标签: javascript html

我的页面上有一个带有按钮的小表格。单击该按钮后,它将转到MVC控制器,该控制器以FileStreamResult响应。

用户永远不会离开当前选项卡,而是保持打开状态-服务器开始响应下载文件。

在响应之前,服务器可能需要一两分钟的时间来生成文件-在此期间,我想在浏览器中显示加载程序。

这是我可以在客户端上访问的东西吗?这不是一个异步请求,但我想相当于ajax complete将是理想的。即显示一个微调框,当服务器响应时,隐藏该微调框。

注意:由于我认为这是客户端问题,因此我不会将其标记为MVC。

1 个答案:

答案 0 :(得分:1)

您也许可以依靠浏览器的焦点事件?我不确定这在实践中有多可靠。

  1. 用户点击链接
  2. 聆听浏览器的注意力
  3. 显示弹出窗口
  4. 当浏览器不显示焦点时删除弹出窗口(打开新标签页以供下载)

相关:

Detect If Browser Tab Has Focus