jQuery (?或任何其他web语言),是否有可能看到客户端是否正在下载文件


jQuery(? or any other weblanguage), is it possible to see if the client is downloading a file

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

我是否可以将表单的操作替换为另一个文件,该文件将把POST数据重定向到原始表单操作页面,但也将接收GET数据。对不起,我可能用错了术语

您可以使用一些技巧来检测下载的开始,但无法检测下载的结束。

要检测您的下载结束,您可以让服务器比发送下载帮助您。

为了检测开始,让下载页面首先执行一些javascript代码,告诉你"下载开始了",比如window.parent.downloadStarted(),并在父窗口中有一个downloadStarted()函数。

然后运行后,有iframe重定向到真正的页面进行下载。

要检测下载的结束,提供下载的程序必须向它发出信号。最好的方法是使用APC并设置一个变量,然后不断轮询第二个页面,检查变量是否设置,并报告。

不是我的,但我发现这个参考据说使用AJAXhttp://www.sitepoint.com/forums/showthread.php?618233-Detecting-File-Download-Completion

进一步展开:当下载的文件保存到磁盘时浏览器事件

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

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

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

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

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

相关文章: