localStorage的过期时间设置的方法详解


Posted in HTML / CSS onNovember 26, 2018

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

<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>

使用场景:

1.利用本地数据,减少网络传输
2.弱网络环境下,高延迟,低带宽,尽量把数据本地化

使用方法:

<script>
window.onload = function(){
    var Ipt = document.getElementById('input1');
    var value = '{"name":"和派孔明","Age":"18","address":"陆家嘴金融城"}';
    set('information',value);

    Ipt.onclick = function(){
        //var dataObjData=get('information',1000);//过期时间为1秒,正常情况下,你点击的时候已经过期
        //var dataObjData=get('information',1000*60);//过期时间为1分钟
        //var dataObjData=get('information',1000*60*60);//过期时间为1小时
        //var Obj=get('information',1000*60*60*24);//过期时间为24小时
        var dataObjData=get('information',1000*60*60*24*7);//过期时间为1周
        console.log(dataObjData || null);
            if (dataObjData!="" && dataObjData!=null) {
                    console.log("姓名:"+dataObjData.name);
                    console.log("年龄:"+dataObjData.Age );
                    console.log("地址:"+dataObjData.Age );
            }else{
                alert("获取的信息已经过期");
            }   
    }
}
</script>

localStorage过期控制运行代码结果之未过期

localStorage的过期时间设置的方法详解

localStorage过期控制运行代码结果之已过期

localStorage的过期时间设置的方法详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
May 07 HTML / CSS
一款纯css3实现的响应式导航
Oct 31 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
利用CSS3伪元素实现逐渐发光的方格边框
May 07 HTML / CSS
CSS3 实现的加载动画
Dec 07 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
Nov 02 HTML / CSS
HTML5 拖拽批量上传文件的示例代码
Mar 28 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
Mar 07 HTML / CSS
html5指南-6.如何创建离线web应用程序实现离线访问
Jan 07 HTML / CSS
HTML5在手机端实现视频全屏展示方法
Nov 23 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
Dec 06 HTML / CSS
flex布局中使用flex-wrap实现换行的项目实践
Jun 21 HTML / CSS
canvas拼图功能实现代码示例
Nov 21 #HTML / CSS
详解Canvas 跨域脱坑实践
Nov 07 #HTML / CSS
浅谈移动端网页图片预加载方案
Nov 05 #HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 #HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
Nov 01 #HTML / CSS
HTML5之消息通知的使用(Web Notification)
Oct 30 #HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
Oct 22 #HTML / CSS
You might like
星际争霸兵种名称对照表
2020/03/04 星际争霸
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
javascript常用的方法分享
2015/07/01 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
vue中的inject学习教程
2019/04/24 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
应届生高等护理求职信
2013/10/12 职场文书
管理科学大学生求职信
2013/11/13 职场文书
家长对学生的评语
2014/04/18 职场文书
文明社区申报材料
2014/08/21 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
接待员岗位职责范本
2015/04/15 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python