您好,匿名用户
随意问技术百科期待您的加入

web实时进度条的实现思路

+3 投票

我要在网页上做个上传文件的实时进度条,文件比较大,要将文件上传了多少大小以进度条的形式展现给用户,没有什么思路,有什么好的实现思路呢?

用户头像 提问 2012年 12月27日 @ Poppy 上等兵 (395 威望)
分享到:

1个回答

+1 投票
 
最佳答案

目前主流技术就是Comet ,Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询(Long Polling)和iframe流(Streaming)。未来HTML5的WebSocket技术将会取代Comet成为服务器推送的方法。

一 iframe流

iframe流方式是在页面中插入一个隐藏的iframe,利用其src属性在服务器和客户端之间创建一条长链接,服务器向iframe传输数据(通常是HTML,内有负责插入信息的javascript),来实时更新页面。iframe流方式的优点是浏览器兼容好,Google公司在一些产品中使用了iframe流,如Google Talk。

二 长轮询(Long Polling)

一些应用及示例如 “Meebo”, “Pushlet Chat” 都采用了这种长轮询的方式。相对于“轮询”(poll),这种长轮询方式也可以称为“拉”(pull)。因为这种方案基于 AJAX,具有以下一些优点:请求异步发出;无须安装插件;IE、Mozilla FireFox 都支持 AJAX。

三 参考资料

  1. http://zh.wikipedia.org/wiki/Comet__(web技术)
  2. http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
  3. http://infrequently.org/2006/03/comet-low-latency-data-for-the-browser/
  4. http://blog.csdn.net/linbo6/article/details/7319040
  5. http://www.zeitoun.net/articles/comet_and_php/start
  6. http://ajaxpatterns.org/HTTP_Streaming
  7. http://www.subbu.org/blog/2006/04/dissecting-ajax-server-push
  8. http://www.josephj.com/entry.php?id=358
用户头像 回复 2012年 12月27日 @ Olaf 上等兵 (366 威望)
选中 2012年 12月27日 @Saber
提一个问题:

相关问题

+1 投票
1 回复 42 阅读
用户头像 提问 2013年 1月7日 @ 匿名用户
0 投票
1 回复 35 阅读
用户头像 提问 2013年 9月18日 @ Heimerdinger 上等兵 (311 威望)
+2 投票
1 回复 50 阅读
用户头像 提问 2013年 1月21日 @ Fizz 上等兵 (325 威望)
0 投票
1 回复 40 阅读
用户头像 提问 2013年 9月13日 @ Sona 上等兵 (306 威望)
0 投票
1 回复 36 阅读
用户头像 提问 2012年 12月1日 @ Vergil 上等兵 (384 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...