我们有一个弹出窗口,用户在其中进行一些选择并单击按钮以生成 pdf 文件。我们显示进度显示(动画 gif),然后最终使用 content-disposition: inline 将 pdf 内容发送给用户。然后,用户通常会打印 pdf 文件。
对于某些用户,没有用于 pdf 文件的内嵌浏览器查看器,并提示用户保存 pdf 文件。在这些情况下,进度显示保持打开状态,即使文件已交付。检测用户选择保存文件而不是内联显示的好方法是什么?
到目前为止,我提出的一个想法是在弹出窗口中设置一个计时器,以在其内容仍然存在时关闭窗口。理论上,如果窗口的内容被pdf查看器替换,计时器将被清除。还有其他选择吗?如果 pdf 生成可能需要很长时间,我怎么知道将计时器设置为多长时间?我可以先发送 http 标头,然后再发送 pdf 内容以快速触发 pdf 查看器吗?