用JS检测用户取消下载?

时间:2013-03-11 19:08:08

标签: php javascript jquery session cookies

我有一个网页,可让用户下载Excel文档。该功能主要由jQuery和PHP构建。

在用户提交请求表单后,有一个加载gif覆盖屏幕。有一个JS间隔,用于查找PHP与Excel文档一起发送的cookie。一旦文件下载,JS就可以检测到这个cookie并删除gif。

如果用户中止下载,我遇到了问题。不会删除gif,因为从未收到过cookie。

有没有办法用JS检测“取消”浏览器操作?或者我可以使用PHP的connection_aborted()函数检测取消,然后重新发送带有所需cookie的新标头吗?

1 个答案:

答案 0 :(得分:0)

您可能需要进行某种轮询。

  • 1 - 向服务器发送ajax请求,告诉服务器检查连接是否仍然存在。
  • 1.1 - 如果服务器返回肯定答复,请等待N秒并重复#1。
  • 1.2 - 如果服务器响应消极,则用户已取消下载。