我们都知道localStorage不主动删除,永远不会销毁,那么如何设置localStorage的过期时间呢,今天我们来一起尝试一下!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//封装过期控制代码
/**
* 存储数据对象
* @param key 存储对象key
* @param value 存储的值
*/
function setStorage(key,value){
var curTime = new Date().getTime();
localStorage.setItem(key,JSON.stringify({data:value,time:curTime}));
}


/**
* 获取存储的数据对象
* @param key 存储对象key
* @param exp 取值过期时间,单位:分钟
*/
function getStorage(key,exp){
var data = localStorage.getItem(key);
if(!data){
return false;
}
var dataObj = JSON.parse(data);
var time = exp ? exp*60*1000 : 60000;
if (new Date().getTime() - dataObj.time>time) {
console.log(new Date().getTime()+'-'+dataObj.time+'-'+time);
console.log('信息已过期');
return false;
//alert("信息已过期")
}else{
//console.log("data="+dataObj.data);
//console.log(JSON.parse(dataObj.data));
console.log(new Date().getTime()+'-'+dataObj.time+'-'+exp+'-'+JSON.parse(dataObj.data));
var dataObjDatatoJson = JSON.parse(dataObj.data)
return dataObjDatatoJson;
}
}

参考原文: https://blog.csdn.net/gb4215287/article/details/76011514