您的位置:首页 > Web前端

web前端性能优化–缓存

2014-10-13 22:16 411 查看
雅虎的16条优化准则,作为前端开发工程师,都是耳熟能详,信手拈来。但很多时候也能难完全的做得到,一些准则跟工程原则是冲突的,难以落实起来。

JS文件放尾部,CSS文件放头部等,这些基本的优化点还是可以做到,但是有时候遇到网速慢的情况,会出现一段时间的白屏,从用户体验的角度来说,还是有提升的空间。 根据移动站点的特性,已经用户对页面的期待看来,用户在刚打开页面的时候可以接受旧的东西。 在加载完js等资源文件时可以更新新的内容。这样,就可以尽可能快的展示数据,而更新数据等逻辑可以放到后面处理。 在移动站点的优化时,可以有以下几种方案,利用localstorage来做缓存。

一、实时性要求高的

1、第一次加载数据,渲染,缓存到localstorage。

2、第二次用户访问的时候直接读取缓存,渲染。

3、正常逻辑,拉取数据。这里可以分为两种,拉取后又渲染一次页面,本地存储;不渲染,直接存储,下次渲染。

HTML头部:

window._cacheModule = {
write: function(key){
var ret = this.getCacheData(key);
if(!ret) return false;
document.write(ret);
return true;
},
getCacheData: function(key){
if(!window.localStorage) return false;
try{
var str = localStorage.getItem(key);
var item = JSON.parse(str);
}catch(e){
item = false;
}
return item;
}
};读缓存:
if(_cacheModule){
var ret = _cacheModule.write('_forum_my_followed');
}写缓存:
var html = render(data);
$(dom).append(html);
storage.set('_forum_my_followed', html);原理还是挺简单的,主要是发散下思维,考虑移动站点用户的特性。这样做的话,就能达到用户的预期,让页面尽快的出来,减少白屏时间。页面的业务逻辑还是没有提前,但给用户的感觉页面速度是加快了。

优化的目的并不是拿一些数据指标来判断,而是要给人的感觉,是真的加快了,这才是页面的优化目标。

二、实时性要求低的

1、根据页面访问的次数或者访问页面的间隔时间,如用户5次内访问页面或者半小时内都不再拉取数据。

更多内容请访问我的站点:http://www.iamaddy.net/2014/10/make-page-more-fast/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息