jQuery(?或任何其他weblanguage),是否可以查看客户端是否正在下载文件

时间:2011-10-25 22:36:37

标签: php jquery

我想创建一个包含框架(div也能正常工作)的网站,其中有一个外部页面,一旦用户在框架中的页面上下载文件,我想触发一个事件。 Filedownload由表单提交触发。这可能吗? 谢谢。 编辑:我可以编写PHP,ASP,jQuery和一点点Java,但我总是愿意学习更多。

我可以将表单的操作替换为另一个文件,该文件会将POST数据重定向到原始表单操作页面,但也会收到GET数据。 对不起,我可能没有使用正确的条款。

3 个答案:

答案 0 :(得分:0)

当用户单击表单上的提交按钮时,jQuery可以触发一个函数来运行。

jQuery("#downloadLink").click(function(){alert('user has clicked the download link');});

* 注意: *这将在用户开始下载时执行,而不是在下载完成后执行。

编辑:这不需要访问外部页面的代码,您根本不必操纵表单的操作。

答案 1 :(得分:0)

您可以通过一些技巧检测下载的开始,但不是下载结束。

要检测下载的结束,您可以拥有服务器,而不是发送下载帮助。

要检测开始,下载页面首先执行一些javascript代码,告诉你“下载已开始”,类似于window.parent.downloadStarted(),并在父窗口中有一个downloadStarted()函数。

然后在运行之后将iframe重定向到执行下载的真实页面。

为了检测下载的结束,提供下载的程序必须发出信号。最好的办法是使用APC并设置变量,然后不断轮询第二页,检查变量是否已设置,并报告回来。

答案 2 :(得分:0)

不是我的,但我发现这个引用应该使用AJAX http://www.sitepoint.com/forums/showthread.php?618233-Detecting-File-Download-Completion

进一步扩展: Browser event when downloaded file is saved to disk

您可以使用一些花哨的东西来判断客户端何时断开连接,但在某些情况下您似乎仍然可能会出现误报。