用過localstorage都知道,它可以快取資料在客戶端,但是大小有限制。
於是我這邊想到了3種辦法解決:
1、獲取位元組數,當超過限制就自動全部清空
var getbytes= function (str)return bytes;
},maxsize= 5, //最大限制5mb
allstoreage= getbytes(function()
},false);
3、通過統一介面自定義乙個過期時間來進行定時清理,結合上面2中辦法(包含了上面2種辦法)
(function($)) //set
* $.localstorage('test',, 1) //set
* $.localstorage('test',null) //remove
* *///
判斷函式
var trystorage= function
(l, s)
catch
(e)catch
(e) }
delete
arg;
return
_storage
}, //分別嘗試使用 localstorage和sessionstorage
_storage =trystorage(localstorage, sessionstorage),
minutes = 1000*60,
now =date.now(),
getbytes= function
(str)
return
bytes;
},allstoreage= getbytes(function
()
return
str;
}()),
jsonreg=/^[\$/,
resetcache = function(time)
var len=_storage.length,item,key,t;
for(var i=0; i)
}_storage.removeitem(key);
}return _storage.setitem('_expires', day*time+ now); //
設定整個快取的過期時間
}, maxsize= 5; //
mb allstoreage>maxsize*1024*1024 &&_storage.clear();
resetcache(15); //
15天檢測一遍,定時清理垃圾資料
addeventlistener('error',function
(e) },
false
);
$.localstorage = function
(name, value, time)
if(!isnan(+time));
}_storage.setitem(name,$.isobject(value) ?json.stringify(value) : value);
return value.value ||value;
}else
else} }
return
localvalue;}};
})(zepto);
作者-----乙隻柯楠
離線快取更新麻煩,不如使用localStorage
智慧型手機的發展 伴隨著智慧型手機在國內的普及及其換代速度,html5技術在移動領域的發展終究比pc端來的更迅速些。根據移動網際網路第三方資料探勘和整合營銷機構艾媒諮詢 iimedia research 發布的 2012中國智慧型手機市場年度研究報告 資料顯示,截止2012q4季度,中國智慧型手機使...
如何獲取手機的快取
1 手機中的快取一般放在手機中data data 的專案 cache當中,cache檔案是可不讀不可寫,所以不能直接獲取 2 可以在原始碼中找到 mpm.getpackagesizeinfo 包名,mstatsobserver 3 getpackagesizeinfo的方法已經被隱藏了,只能採用反射...
iOS獲取快取檔案的大小並清除快取
移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取 清除快取檔案的實現。nsstring的類別檔案 instancetype cachedir 1.獲取快取檔案的大小 cgfl...