0

我们有一个弹出窗口,用户在其中进行一些选择并单击按钮以生成 pdf 文件。我们显示进度显示(动画 gif),然后最终使用 content-disposition: inline 将 pdf 内容发送给用户。然后,用户通常会打印 pdf 文件。

对于某些用户,没有用于 pdf 文件的内嵌浏览器查看器,并提示用户保存 pdf 文件。在这些情况下,进度显示保持打开状态,即使文件已交付。检测用户选择保存文件而不是内联显示的好方法是什么?

到目前为止,我提出的一个想法是在弹出窗口中设置一个计时器,以在其内容仍然存在时关闭窗口。理论上,如果窗口的内容被pdf查看器替换,计时器将被清除。还有其他选择吗?如果 pdf 生成可能需要很长时间,我怎么知道将计时器设置为多长时间?我可以先发送 http 标头,然后再发送 pdf 内容以快速触发 pdf 查看器吗?

4

1 回答 1

0

我们通过在我们要求服务器开始生成 PDF 之前设置一个计时器来解决这个问题。如果 PDF 由浏览器窗口中的查看器打开,则取消计时器。如果计时器未取消,则它关闭窗口。我们为计时器选择了很长的时间。

于 2010-03-19T00:20:18.353 回答