localStorage过期策略

localStorage过期策略

  由于html5没有给本地存储设置过期策略,那么在处理数据的过期策略的时候可以编写自己过期策略程序,如下:

<!DOCTYPE>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Access-Control-Allow-Origin" content="anonymous">
<title>locstorage 过期策略</title>
</head>
<body>
</body>
</html>
<script>
function set(key,value){
 var curtime = new Date().getTime();//获取当前时间
 localStorage.setItem(key,JSON.stringify({val:value,time:curtime}));//转换成json字符串序列
 /*
  说明:
  JSON.parse用于从一个字符串中解析出json对象,如
  var str = '{"name":"huangxiaojian","age":"23"}'
  结果:
  JSON.parse(str)
  Object
    age: "23"
    name: "huangxiaojian"
    __proto__: Object
  注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
  JSON.stringify()用于从一个对象解析出字符串,如
  var a = {a:1,b:2}
  结果:
  JSON.stringify(a)
  "{"a":1,"b":2}"
 */
}
function get(key,exp)//exp是设置的过期时间
{
  var val = localStorage.getItem(key);//获取存储的元素
  var dataobj = JSON.parse(val);//解析出json对象
if(new Date().getTime() - dataobj.time > exp)//如果当前时间-减去存储的元素在创建时候设置的时间 > 过期时间
{
  console.log("expires");//提示过期
}
else{
  console.log("val="+dataobj.val);
}
}
</script>
posted @ 2018-12-29 17:24  笠航  阅读(449)  评论(0编辑  收藏  举报