在我们当前的项目中,我们提供了一个PDF下载,用户可以通过提交的HTML表单来自定义它。动态生成PDF需要几秒钟的时间,我想通过可视化来展示这一过程,例如禁用提交按钮直到下载开始。不幸的是,我找不到检测下载开始的方法*。因此,我不知道何时重新启用提交按钮。
我已经尝试将IFrame指定为我的HTML表单的目标,希望触发
我目前能想到的唯一解决方案涉及在服务器上将PDF生成到临时文件中,但我想避免这种方法。
*)让我澄清一下:我不需要知道下载是否完成,甚至不需要知道它是否真正开始。我想检测浏览器询问用户是打开还是保存文件的那个点。我猜这发生在浏览器接收HTTP头时。
我已经尝试将IFrame指定为我的HTML表单的目标,希望触发
onload
事件。然而,它没有触发--可能是因为PDF使用“Content-disposition: attachment
”头发送,并没有实际加载到IFrame中。我目前能想到的唯一解决方案涉及在服务器上将PDF生成到临时文件中,但我想避免这种方法。
*)让我澄清一下:我不需要知道下载是否完成,甚至不需要知道它是否真正开始。我想检测浏览器询问用户是打开还是保存文件的那个点。我猜这发生在浏览器接收HTTP头时。