Html 5 localStorageキャッシュ

2731 ワード

1.クライアントページの一時保存データの変化の多段、cookie、session、data-xxx、hidden inputなどのありふれた話をしないで、私達はlocalStorageの特徴を採用します:1.呼び出しclearが表示されない限り、データは削除されません.  2.データ量が大きい最大2.6 M程度のテストによると、今回の使用シーンは、データの一部をロードする必要があり、データ量が大きく、更新が頻繁ではない.localStorageページの主なコードは次のとおりです.
<script type="text/javascript">
    var curtime = new Date().getTime();
    var exp = 5;//5     
    if (window.localStorage) {
        //  
        alert("  ");
    } else {
        //   
        alert("   ");
    }
    cacheInit();
    function cacheInit() {
        var exp = localStorage.getItem("exp");
        if (!exp) {
            localStorage.setItem("exp", curtime);//JSON.stringify({val:value,time:curtime})         eg: json   
        }
    }
    function setCache(key, val) {
        localStorage.setItem(key, val);
    }
    function getCache(key, delay) {
        delay = delay || exp;
        var exp_temp = localStorage.getItem("exp");
        var temp_dely = ((new Date().getTime() - exp_temp) / 60000);
        if (temp_dely > delay) {
            localStorage.clear();//       
            cacheInit();
        } else {
            return localStorage.getItem(key);//       JSON.parse(localStorage.getItem(key))
        }
    }
    function Test() {
        alert("test");
        setCache("01", "001");
    }
    function TestGet(obj) {
        return getCache("01", obj);
    }
</script>

PS:クライアントがいくつかのデータの保存に適しています.呼び出し挿入:setCache(key,val)取得:getCache(key,6)でよい.