读取与存储 的使用方法


//存储 (名称 , 内容 , 有效期<小时> )
// 如果想要自己改变 有效期的单位 可以在 set 方法中
// 找到 这两个 setHours getHours 修改成 对应的 单位即可
// 具体单位 请 参考 http://www.w3school.com.cn/js/jsref_obj_date.asp
jsHelper.localStorage.set("HistoryPwdMsg","123,123,123,123,123,123" , 5); //读取
var history = jsHelper.localStorage.get("HistoryPwdMsg");
//设置变量接收
var myData = history ? history : "";

代码

/**
* js帮助类
*/
var jsHelper = {
/**
* 去掉time 的 T
* @param time 日期时间对象
* @returns 处理后的日期时间
*/
convertTime: function (time) {
if (!time || time == null || time.length == 0) {
return " ";
}
//替换time中的T
time = time.replace(/T/g, ' ');
//如果包含 0001-01-01 则为空数据
if (time.search("0001-01-01") != -1) {
time = "";
}
return time;
}, /**
* 获取当前时间 格式(yyyy-MM-dd HH:mm:ss)
* @returns
*/
getNowTime: function () {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}, /** localStorage 存储 */
localStorage: {
/**
* 设置 localStorage
* @param key 键
* @param value 值
* @param hours 有效期 (单位:小时)
*/
set: function (key, value, hours) {
//设置过期时间
var curDate = new Date();
var endDate = new Date(curDate.setHours(curDate.getHours() + hours)); var data = { value: value, expirse: endDate.getTime() };
localStorage.setItem(key, JSON.stringify(data));
}, /**
* 获取 localStorage
* @param key键
* @returns 返回数据
*/
get: function (key) {
var data = JSON.parse(localStorage.getItem(key));
if (data !== null) {
//判断是否过期
if (data.expirse != null && data.expirse < new Date().getTime()) {
localStorage.removeItem(key);//删除
} else {
return data.value;
}
}
return null;
}
}
}

LocalStorage 的 具体操作 与 设置有效期的更多相关文章

  1. CKFinder 弹出窗口操作并设置回调函数

    CKFinder 弹出窗口操作并设置回调函数 官方例子参考CKFinderJava-2.4.1/ckfinder/_samples/popup.html 写一个与EXT集成的小例子 Ext.defin ...

  2. localStorage和cookie操作

    localStorage和cookie操作代码: cookie: { isSupportCookie: function() { return navigator.cookieEnabled; }, ...

  3. 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址

    树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...

  4. localStorage、sessionStorage、cookie的有效期和作用域问题

    sessionStorage,localStorage,cookie都可以实现客户端存储,三者的区别有哪些了? cookie作为最早期的被设计web浏览器存储少量数据,从底层看,它是作为http协议的 ...

  5. SharePoint 2013 对象模型操作"网站设置"菜单

    在SharePoint的开发中,经常会有客户提到网站操作上的栏目过多,其实,我们除了可以通过Feature的方式添加,还可以通过服务器端对象模型的方式添加:下面,让我用简单的例子,给大家介绍一下: 1 ...

  6. Python脚本控制的WebDriver 常用操作 <四> 设置浏览器大小

    下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试 ...

  7. 【kafka学习之五】kafka运维:kafka操作日志设置和主题删除

    一.操作日志 首先附上kafka 操作日志配置文件:log4j.properties 根据相应的需要设置日志. #日志级别覆盖规则 优先级:ALL < DEBUG < INFO <W ...

  8. java表格操作之设置表格列宽

    设置所有列的宽度 /** * 设置所有列的列宽 * @param table * @param width */ public void setAllColumnWidth(JTable table, ...

  9. poi操作excel设置数据有效性

    private void setDataValidationList(short firstRow,short endRow,short firstCol, short endCol,String d ...

随机推荐

  1. glfw内存泄露测试

    1. glfwInit()   和  glfwTerminate()  放在主线程  循环次数 1    内存   14M 循环次数100    46M 循环次数1000   49M 2.  glfw ...

  2. vue中v-if和v-for指令最好不要同时使用

    建议不要在与v-for相同的元素上使用v-if.因为v-for指令的优先级高于v-if当它们处于同一节点.v-for 的优先级比 v-if 更高,这意味着 v-if 将分别重复运行于每个 v-for  ...

  3. 解决问题 inner element must either be a resource reference or empty.

    -Q: 错误<item>内部元素必须是资源引用或空 升级Andriod Studio之后编译发现如下错误 Android resource compilation failed ***\a ...

  4. typescript_类

    //类的定义 class Animal{ id:string;//默认访问修饰符为 public : 类本身.子类.类外部可访问 public name:string; // public : 类本身 ...

  5. Ceph FS 挂载

    Cephfs使用挂载方式有两种 1.使用linux kernel挂载 mount 2.使用ceph-fuse挂载. 1.下图为mount挂载 mount -t ceph 10.110.180.112: ...

  6. linux 进程管理与调度(一)

    进程结构 进程在内核的源代码中以结构体表示,篇幅很长,在此列举一小段关键代码,可以发现是个双向链表,具体的可以在内核目录下找一个叫"sched.h"的头文件. struct tas ...

  7. CentOS7安装与优化

    原文地址:https://www.cnblogs.com/blsnt/p/9556946.html

  8. MySQL数据库开发规范-EC

    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...

  9. python3 推荐使用super调用base类方法

    from:https://python3-cookbook.readthedocs.io/zh_CN/latest/c08/p07_calling_method_on_parent_class.htm ...

  10. linux系统编程综合练习-实现一个小型的shell程序(一)

    之前已经花了不少篇幅学习了linux系统编程的很多知识点:文件与io.进程.信号.管道,而零散的知识点,怎么能够综合的串接起来是学习的一个很重要的目的,当然最好的方式就是用所学的知识点做一个项目了,所 ...