从技术角度上考虑 Blog 分页的表现形式

作者:手气不错 发布时间:November 8, 2007 分类:观点

昨晚我从 iVane 的博客上看见一篇名叫 关于blog的页码表现形式 的文档,我认为这从用户体验的角度上说非常的精彩!有关用户体验方面我撇开不谈,我这里单从技术的角度讨论该功能是否实用。

负载和效率

现在的 Ajax 犹如“远古”时代的 Flash 欢迎页一样,逐渐变得相当的泛滥。是的,我请允许我使用“泛滥”这一词。Ajax 的最终目的是提高用户体验用的,而频繁的使用会造成比泛滥使用 Flash 更严重的后果。

首先,Ajax 还是仍然需要读取服务器端的数据的。它的流量相当于打开一个微型的页面。其次 Ajax 服务器端的相应速度直接决定页面的载入速度。

有这样一种极端的情况,客户端的 Javascript 发送 xml 包给服务器,服务器无法及时的返回,急不可待的用户再次执行了 Javascript 请求(疯狂的触发执行条件,比如某个按钮)。在客户端的浏览器也会不断的发送请求的同时,原本负载的服务器端仍会不断的处理请求。于此累积,造成浏览器的假死、甚至是崩溃。

按照 iVane 兄弟的“需求”,当用户鼠标移动到分页链接上面时,Javacript 向服务器读取数据。此时数据库读取的量就是获取当前分页的索引(文章标题)。这个量是可以计算的,不是相当的大。但是可怕的是用户用鼠标不停的在分页链接上移动来移动去。那有可能服务器会无法及时相应。

此方面的解决我考虑了下。其中的一个做法就是当有显示框(Tooltip)时,设定 Javascript 不去读取没有显示完毕的数据。等用户关闭了此 Tooltip 的框以后再去向服务器请求数据。第二中做法就是将数据保存到一个数组里面,作为缓存使用。同时在服务器端也相应的做一个数据缓存,这样负载就基本上可以得到保证了。

兼容性

这里主要指的是 Javascript (客户端)对于浏览器的兼容性。从程序的设计角度上说,为每个浏览器设计此项功能是不现实的。现在目前的主流浏览器都支持 DOM,如按照标准做的话,应该都是没有问题的。

在 Javascript 端我个人喜欢使用 jQuery 框架。使用它可以轻松实现原本非常繁杂的功能。对于 Ajax 功能,它有一个非常强大的类库,可以简化很多的工作。

总结

理论上面说了那么多,那么到底实现起来会怎么样呢?其实如果你使用非 IE 浏览器就已经得到答案了。如 iVane 兄弟所说,我愿意成为第一个“吃螃蟹”的人。我目前不知道这对于我所在的主机负载能增加多少,但是详实的前期考虑让我信心倍增。

http://www.gracecode.com/upload/2007_11_03/1194098460.png

请不要猜测我为什么对 IE 那么地不友好。很简单,其实我不想因为 IE 那非标准的 DOM 惹“更多的麻烦”,就这么简单。相关的程序代码我整理一下加入 Grace PHP5 Framework 中,感兴趣的兄弟们请关注。

更新:出于“人道主义”考虑,已经支持 IE。

快抢沙发!

添加新回复

Yahoo 统计