使用网络存储

网络存储是通过localStorage和sessionStorage这两个全局变量来访问。sessionStorage是一种非持久性的存储,会在浏览回话之间被清除掉,不能在多个标签页之间共享,因此更适合于村塾临时的应用程序数据。网络村塾访问有同源策略(某个网页只能访问来自统一域的网络存储设置的值)的限制。
网络存储API有两个方法:
localStorage.getItem(key)

localStorage.setItem(key,value);
缓存层代码:
var memoryCache = {};
var CACHE_TTL = 86400000;
var CACHE_PREFIX = ‘ti’;
function setCache(mykey,data){
    var stamp,obj;
    stamp = Data.now();
    obj = {
        date: stamp,
        data: data
    }
    localStorage.setItem(CACHE_PREFIX + mykey,JSON.stringify(obj) );
    memoryCache[mykey] = obj;
}
function getCached(mykey){
    var key,obj;
    key = CACHE_PREFIX + mykey;
    if(memoryCache[key]) {
        if(memoryCache[key].date – Date.now() > CACHE_TTL) {
            return false;
        }
        return memoryCache[key] .data;
    }
    obj = localStorage.getItme(key);
    if(obj) {
        obj = JSON.parse(obj);
        if(Date.now()-obj.date>CACHE_TTL) {
            localStorage.removeItem(key);
            delete(memoryCache[key]);
            return false;
        }
        memoryCache[key] = obj;
        return obj.data;
    }
}

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注