首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

3.1.8 多阶段下载

Web上的一个永久性问题就是页面下载的速度。当每个用户使用的都是56Kbps的调制解调器时,Web设计者必须关注其页面的“重量”(即页面的总字节数)。随着家庭宽带网的流行,许多网站已经升级,包含了多媒体信息、更多的图片以及更多的内容。这种方法,在为用户提供更多信息的同时,也使得下载速度越慢,而且每个东西都好像以随机的顺序在载入。幸运的是,针对这个问题存在一种Ajax解决方案。

多阶段下载(Multi-Stage Download)是一个载入页面的Ajax模式。在完成之后,页面会开始下载其他将显示在页面上的组件。如果用户在所有组件下载完成之前离开页面,则它们将不再重要。但是如果用户要在该页面停留更长一段时间(或许在阅读一篇文章),那么将在后台载入其他功能,以便该功能在用户需要时可用。这对于开发人员而言,最主要的优点是可以决定什么时候下载什么。

这是一个比较新的Ajax模式,它因微软的start.com而流行。当你第一次访问start.com时,它只是一个中间有一个搜索文本框的简单页面。但在幕后,开始发出一系列的请求以向页面中填入更多的内容。几秒钟后,随着来自不同地方的内容显示出来,页面也变得生动起来。

多阶段下载模式虽然很好,但也存在一个缺点:对于不支持Ajax技术的浏览器,页面就只有最简单的表单可以使用。也就是,没有额外的下载,所有基本的功能也必须能够正常工作。处理这类问题的典型方法是提供优雅的降级(degradation)方案,也就是对于支持Ajax技术的浏览器可以获得更丰富的用户界面,而对于不支持的浏览器则将获得一个简单的、不加渲染的用户界面。如果希望搜索引擎能够找到你的网站,那么这就更加重要;由于这些bot程序不支持JavaScript,它们仅能依靠页面中的HTML来确定网站的值。