问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

html5 的 localStorage 可否设置数据的时效时间?

发布网友 发布时间:2022-04-22 22:27

我来回答

7个回答

热心网友 时间:2022-04-20 02:23

localStorage 没有提供直接设置时效的处理方式,只能在存值的时候额外保存一个时间作为时效时间,取值的时候再根据时效时间去判断是否过期,如果过期则废弃内容弄并销毁,如果没过期就可以拿出来使用;
至于保存的方式,有很多种,随便选一种;
以下以 JSON 字符串为例:

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

<script type="text/javascript">
// 假设要保存变量 a 的值,过期时间为 3600秒
// 保存值
var obj = new Object(); // 或者 var obj = {};
obj.a = a; // 要保存的变量
obj.time = 3600; // 过期时间
obj.date = 1234567890 // 保存变量时的那个时间点,这里以时间戳为例

var objString = JSON.stringify(obj); // 由于 localStorage 只能保存字符串内容,所以这里要先把对象转换成 JSON 字符串
window.localStorage.setItem('data',objString);

// 取值
var b = window.localStorage.getItem('data');
var c = JSON.parse(b); // 将 JSON 字符串转成对象
var time = c.time;
var date = c.date;
if ((parseInt(time) + parseInt(date)) < '当前时间戳') {
// 如果 date + time 小于当前时间的时间戳,说明已经超过3600秒的时效时间
}else{
// 如果 date + time 大于当前时间戳,说明没过期
var d = c.a; // 之前保存的变量值
// 然后要怎么用就怎么用
}
</script>

热心网友 时间:2022-04-20 03:41

localStorage 没有提供直接设置时效的处理方式,只能在存值的时候额外保存一个时间作为时效时间,取值的时候再根据时效时间去判断是否过期,如果过期则废弃内容弄并销毁,如果没过期就可以拿出来使用;
至于保存的方式,有很多种,随便选一种;
以下以 JSON 字符串为例:
<script type="text/javascript">
// 假设要保存变量 a 的值,过期时间为 3600秒
// 保存值
var obj = new Object();    // 或者 var obj = {};
obj.a = a;                // 要保存的变量
obj.time = 3600;            // 过期时间
obj.date = 1234567890        // 保存变量时的那个时间点,这里以时间戳为例

var objString = JSON.stringify(obj);    // 由于 localStorage 只能保存字符串内容,所以这里要先把对象转换成 JSON 字符串
window.localStorage.setItem('data',objString);


// 取值
var b = window.localStorage.getItem('data');
var c = JSON.parse(b);    // 将 JSON 字符串转成对象
var time = c.time;
var date = c.date;
if ((parseInt(time) + parseInt(date)) <  '当前时间戳') {
    // 如果 date + time 小于当前时间的时间戳,说明已经超过3600秒的时效时间
}else{
    // 如果 date + time 大于当前时间戳,说明没过期
    var d = c.a;    // 之前保存的变量值
    // 然后要怎么用就怎么用
}
</script>

热心网友 时间:2022-04-20 05:16

不可以设置,你可以在存储的时候加上时间,以后在取值的时候判断一下localStorage是否过期就行了。

热心网友 时间:2022-04-20 07:07

localStorage是没有失效时间的,sessionStorage的声明周期是浏览器的生命周期当浏览器关闭时sessionStorage的数据将清空,而localStorage数据只要不通过代码特意的删除或手动删除,是永久保存的如果要做过期时间,只能通过程序特意记录失效时间,使用时判断当前时间是否晚于失效时间,如果过了失效时间,在代码中将指定失效的项目删掉。

热心网友 时间:2022-04-20 09:15

不可以的 只有cookie 才有过期时间
如果想要设置过期时间 可以用一个定时器
setTimeout(function(){
localStorage.removeItem('你设置的KEY的名字');

},你设置的时间毫秒单位)

热心网友 时间:2022-04-20 11:40

没有设置时效时间的参数

热心网友 时间:2022-04-20 14:21

html局部存储详解 - https://21xrx.com/full_stack/Html/html5_local_storage.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人大政协辅助岗是什么 政务辅助人员是干什么 政府辅助人员是什么 努比亚的海拔什么意思 北非努比亚现在怎么样了啊 相邻权的相关法律 梦见老公离世了什么预兆 梦见自己老公走掉 你出轨后 怎么操作才没被发现? 评评怎么造句 台式电脑主机开机刚启动就停而且反复启动是啥原因? 电脑无法开机,开机得时候电源风扇断断续续的转.转一下就停,过几秒又开始转 各位大神,台式电脑开机过后使用时主机有断断续续的吱吱声,异声,是什么情况,不是新买的 电脑主机开机以后,电源附近除了比较有规律的电流声音以外,还有一些断断续续吱吱呀呀的电流声,咋回事 电脑开机时候反复启动,每次都是通电几秒钟就断电,然后停一两秒钟后再次通电启动,反复如此,一直不开机 电脑断断续续充电怎么解决? 电脑主机断断续续的吱吱响,是怎么回事? 电脑主机通电一会就不通电是怎么回事? 台式电脑开机通电断断续续,风扇转一下就停,插上电源,让它一直自动 电脑主机启动一下又灭一直反复? 电脑开机供电断断续续的,开不了机 电脑开不了机主机一会响起来一会停止断断续续怎么回事 电脑主机断断续续的 打不开 怎么回事? 电脑开机通电后一会又断电又会通电重复? 台式电脑通电断断续续!无法启动,不知道是怎么了? 怎样能把成绩提高? 怎样能将英语单词变为恒久记忆 如何能够将数学学好 怎样能将高中英语语法记牢? 怎样能将施过化肥的土转变成养花的土 ...并且如何用cookie的方法设置其一分钟后过期? sessionStorage localStorage 和 cookie 之间的区别和使用 sessionstorage,localstorage和cookie之间的区别 拼多多怎么设置拒绝菜鸟驿站收货? 浏览器支持的Localstorage最大支持多大,数据是储存在哪里 &#x200B;描述 cookies、sessionStorage 和 localStorage 的区别? 介绍HTML5几种存储方式 cookies,sessionStorage和localStorage的区别 cookie和localstorage的区别 ...cookies,sessionStorage 和 localStorage 的区别 通信技术工程师主要是干什么的?它的就业前景如何? 吉林大学通信工程学院的师资力量 通信工程师证很多人考吗?通过率怎么样? 杭州电子科技大学通信工程学院的师资力量 什么是通信工程师? 重庆大学通信工程学院的师资队伍 重庆大学微电子与通信工程学院师资力量怎么样? 北京邮电大学信息与通信工程学院的师资队伍 重庆通信工程学院的师资队伍 通信工程师有分级别的吗?