2013-03-11 36 views
0

我有一个网页,让用户下载一个Excel文档。该功能主要是在jQuery和PHP中构建的。检测用户取消与JS下载?

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

我遇到问题,但用户中止下载。 gif未被删除,因为cookie从未收到。

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

+1

我相信你不能检测到用户连接中止。 – 2013-03-11 19:11:09

+0

告知浏览器放置“保存”对话框的相同标题是Cookie所在的位置,因此它应该已正常工作。 (我知道无论下载是否取消,该技术对我都有效。) – Pointy 2013-03-11 19:12:10

+0

感谢您的快速回复。 @Pointy,我所指的取消按钮不是保存对话框中的那个按钮。我的意思是地址栏中的取消按钮。 – 2013-03-11 19:33:13

回答

0

你可能需要做某种投票。

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