2011-04-07 155 views
1

我期待确定下载已经开始,最好是使用jQuery。确定下载开始

我正在提供动态创建的下载,需要5-10秒才能创建。我希望使用JavaScript向浏览器发送文件正在创建的消息,并在创建完成并开始下载时删除该消息。

发布消息很简单。当用户点击链接时,我可以做到这一点。我不能找到一种方法来删除不再需要的消息。

有没有办法做到这一点?

+0

也许在这里使用的东西http://plugins.jquery.com/plugin-tags/progress – mplungjan 2011-04-07 09:15:01

回答

3

你可以通过提供例如的download.php脚本下载?文件= image.jpg的

当有人访问它和脚本开始发送文件,你可以在数据库中记录此。

然后,您的站点可以通过查看数据库来对另一个脚本进行ajax调用,该脚本通过是否已经开始下载。如果它开始,您可以隐藏该消息,如果不晚于其他通话。

+1

我实现的解决方案就是这样。我没有将数据保存到数据库,而是将下载创建进度保存到会话cookie并通过循环的ajax调用来访问该信息。 – kingjeffrey 2011-04-14 01:57:41

0

完全不同的方法避免了AJAX投票:

的下载请求的HTTP响应设置,可以定期提供其下载链接的网页上检查一个cookie。这样,您只能轮询浏览器的Cookie存储,而不是您的服务器。