jquery设置localstorage 以及存储对象以及设置有效期

LocalStorage

  • 是对Cookie的优化
  • 没有时间限制的数据存储
  • 在隐私模式下不可读取
  • 大小限制在500万字符左右,各个浏览器不一致
  • 在所有同源窗口中都是共享的
  • 本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存)
  • 不能被爬虫爬取,不要用它完全取代URL传参
  • IE7及以下不支持外,其他标准浏览器都完全支持

SessionStorage

  • 针对一个 session 的数据存储
  • 大小限制在5M左右,各个浏览器不一致
  • 仅在当前浏览器窗口关闭前有效(适合会话验证)
  • 不在不同的浏览器窗口中共享,即使是同一个页面

JS下的操作方法

  • 获取键值:localStorage.getItem(“key”)
  • 设置键值:localStorage.setItem(“key”,”value”)
  • 清除键值:localStorage.removeItem(“key”)
  • 清除所有键值:localStorage.clear()
  • 获取键值2:localStorage.keyName
  • 设置键值2:localStorage.keyName = “value”

JQ下的操作方法(JS方法前加”window.”)

  • 获取键值:window.localStorage.getItem(“key”)
  • 设置键值:window.localStorage.setItem(“key”,”value”)
  • 清除键值:window.localStorage.removeItem(“key”)
  • 清除所有键值:window.localStorage.clear()
  • 获取键值2:window.localStorage.keyName
  • 设置键值2:window.localStorage.keyName = “value”

 

var userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
sessionStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = sessionStorage.getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom
<script type="text/javascript">
    //封装过期控制代码
    function set(key,value){
        var curTime = new Date().getTime();
        localStorage.setItem(key,JSON.stringify({data:value,time:curTime}));
    }
    function get(key,exp){
        var data = localStorage.getItem(key);
        var dataObj = JSON.parse(data);
        if (new Date().getTime() - dataObj.time>exp) {
            console.log('信息已过期');
            //alert("信息已过期")
        }else{
            //console.log("data="+dataObj.data);
            //console.log(JSON.parse(dataObj.data));
            var dataObjDatatoJson = JSON.parse(dataObj.data)
            return dataObjDatatoJson;
        }
    }
 </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值