獲取已經快取的localStorage位元組數

2022-03-31 01:06:27 字數 1760 閱讀 3299

用過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...