好的,这是关于浏览器交互和HTTP机制的一般性问题
这是方案
现在我想:
所有这些实际上总结为“如何在javascript 中检测下载对话框的外观”,因为一旦解决了这个问题,在文件生成过程中很容易设置一些掩码,并且在检测到事件后执行任何操作。
不幸的是,似乎没有办法通过Ajax启动文件下载,因为它没有足够的处理方法将XMLHttpRequest
转换为另存为对话框。因此,您需要提交一些表单,但机制有点奇怪,因为虽然您提交表单,但DOM中没有任何事情发生。然后浏览器检测到对表单提交的响应是传入文件并显示下载框而不是尝试显示文件内容,一旦用户完成下载框,浏览器就会以某种方式设法恢复其先前的界面状态,以便用户可以继续浏览(或至少这是我理解的事情)。
答案 0 :(得分:1)
有趣的问题,实质上你不能阻止用户做任何事情......如果这样的话,他们可能会这样做:
所以,如果你有一个长期运行的过程,那么处理它的好方法是:
答案 1 :(得分:1)