【问题标题】:Detect User Canceled Download with JS?使用 JS 检测用户取消下载?
【发布时间】:2013-03-11 19:08:07
【问题描述】:

我有一个网页可以让用户下载 Excel 文档。该功能主要是在 jQuery 和 PHP 中构建的。

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

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

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

【问题讨论】:

  • 我相信您无法检测到用户连接中止。
  • 告诉浏览器放置“保存”对话框的相同标题是cookie所在的位置,因此它应该已经正常工作。 (我知道无论下载是否取消,该技术都适用于我。)
  • 感谢您到目前为止的快速回复。 @Pointy,我指的取消按钮不是“保存”对话框中的那个。我的意思是地址栏中的取消按钮。

标签: php javascript jquery session cookies


【解决方案1】:

您可能需要进行某种投票。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 2013-12-06
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多