我们有一个弹出窗口,用户可以在其中进行一些选择并点击按钮来生成pdf文件。我们显示进度显示(动画gif),然后最终将pdf内容发送给具有content-disposition:inline的用户。然后用户通常打印pdf文件。
对于某些用户,没有pdf文件的内嵌浏览器查看器,系统会提示用户保存pdf文件。在这些情况下,即使文件已发送,进度显示仍保持打开状态。检测用户选择保存文件的好方法是什么,而不是让它显示内联?
我到目前为止提出的一个想法是在弹出窗口中设置一个计时器,如果其内容仍然存在则关闭窗口。理论上,如果窗口的内容被pdf查看器替换,则清除计时器。还有其他选择吗?如果pdf生成可能需要很长时间,我如何知道设置计时器的时间长短?我可以先发送http标头,然后再发送pdf内容以快速触发pdf查看器吗?
答案 0 :(得分:0)
我们在请求服务器开始生成PDF之前设置了一个计时器来解决这个问题。如果查看者在浏览器窗口中打开PDF,则取消计时器。如果未取消计时器,则关闭窗口。我们为计时器选择了很长时间。