有没有发现一种情况,总有一个用户需要等待某个平台的页面加载。最后他们会因为等得太久,被消耗了耐心,而直接关闭了加载该页面的窗口。
一般来说,页面在512KB的连接速率下,超过5秒打不开网页,用户就会很烦躁。Amazon曾经统计过一个数字,如果页面在3秒内还没显示出来,将会流失57%的用户,导致PV(page view)减少,用户率降低。
为了让页面快速加载出来,我们至少要从以下两方面进行代码优化。
第一方面是减少客户端向服务器请求资源的数量,比如通过文件分离来实现。JavaScript和CSS文件根据各个功能的需求进行文件分离,另外,能够共用的代码也通过文件分离出来。
其次,通过压缩JavaScript和CSS的尺寸也是减少请求资源数量的方式。JavaScript的压缩工具有YUIJS压缩机和CSSO。对于图片的优化,可以使用CSS sprites的技术,将一组图片并在一起成为一个单一的的文件。
第二方面是使用ajax(异步交互)技术。现在的Web应用程序大多数都会使用ajax进行异步调用功能。使用ajax有利于减轻服务器的负担,它往往是按需取数据,最大程度的减少冗余请求,可以局部刷新页面,减少用户心理和实际的等待时间,从而带来更好的用户体验。
但不要过度使用ajax来执行非常简单的任务,没有必要的尽量不要去请求服务器。另外,Ajax不会在类似于股票这种需要持续实时数据的程序中出现,这种程序可以使用数据push技术,比如Comet和WebSocket。
作者:程序媛说
链接:/p/89c843f580e5