如何实现Jsp下载文件过程中用div遮罩整个页面
为了防止下载或导出文件反应比较慢的时候,用户乱操作,想实现点击“导出数据”按钮后遮罩整个浏览器界面,等弹出浏览器“文件下载”提示框后关闭遮罩。难的不是遮罩的实现,难在如何在后台整理完数据后提醒客户端关闭遮罩
历史决策(都没走通):
1)笔者层考虑用ajax异步处理,从而达到把我后台进行进度和js控制的目的,但最终发现ajax好像不支持后台流传输到浏览器;
2)在action里response写完数据流后,return "callback.jsp",在"callback.jsp"关闭浏览器的遮罩,这样也不行,response写完流后,不再允许重复commit;
3)在action里response写完数据流后,close前,我用以下方式做了个forward,人家"callback.jsp"里的js压根就不执行
request.getRequestDispatcher("callback.jsp").forward(arg0, response);
分析:一般用看不见的嵌入式IFrame来实现下载。
至于用DIV啥的遮挡整个页面,jQuery应该有此类实现