LocalStorage 的 具体操作 与 设置有效期
读取与存储 的使用方法
//存储 (名称 , 内容 , 有效期<小时> )
// 如果想要自己改变 有效期的单位 可以在 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 的 具体操作 与 设置有效期的更多相关文章
- CKFinder 弹出窗口操作并设置回调函数
CKFinder 弹出窗口操作并设置回调函数 官方例子参考CKFinderJava-2.4.1/ckfinder/_samples/popup.html 写一个与EXT集成的小例子 Ext.defin ...
- localStorage和cookie操作
localStorage和cookie操作代码: cookie: { isSupportCookie: function() { return navigator.cookieEnabled; }, ...
- 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址
树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...
- localStorage、sessionStorage、cookie的有效期和作用域问题
sessionStorage,localStorage,cookie都可以实现客户端存储,三者的区别有哪些了? cookie作为最早期的被设计web浏览器存储少量数据,从底层看,它是作为http协议的 ...
- SharePoint 2013 对象模型操作"网站设置"菜单
在SharePoint的开发中,经常会有客户提到网站操作上的栏目过多,其实,我们除了可以通过Feature的方式添加,还可以通过服务器端对象模型的方式添加:下面,让我用简单的例子,给大家介绍一下: 1 ...
- Python脚本控制的WebDriver 常用操作 <四> 设置浏览器大小
下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试 ...
- 【kafka学习之五】kafka运维:kafka操作日志设置和主题删除
一.操作日志 首先附上kafka 操作日志配置文件:log4j.properties 根据相应的需要设置日志. #日志级别覆盖规则 优先级:ALL < DEBUG < INFO <W ...
- java表格操作之设置表格列宽
设置所有列的宽度 /** * 设置所有列的列宽 * @param table * @param width */ public void setAllColumnWidth(JTable table, ...
- poi操作excel设置数据有效性
private void setDataValidationList(short firstRow,short endRow,short firstCol, short endCol,String d ...
随机推荐
- ① Python3.0基础语法
稍微了解一下py2.0和py3.0的区别,Py3.0在设计的时候,为了不带入过多的累赘,没有考虑向下兼容低版本的Py2.0.而在低版本中Py2.6作为过渡版,基本使用Py2.x的语法和库,同时考虑Py ...
- IDEA中搭建Maven环境
一.maven的作用 maven是一个构建项目的工具 从项目的创建(代码.配置文件.测试代码如何存放) --> 项目代码的编译 --> 测试 -->项目发布上线 做一整套约定和解决方 ...
- python相关软件安装
一. python 3 安装 Python官网 在官网下载对应系统的安装包 安装步骤 注意:有的时候安装完后会出现"Disable path length limit"的按钮,如果 ...
- javascript_19-DOM初体验
DOM DOM: 文档对象模型(Document Object Model),又称为文档树模型.是一套操作HTML和XML文档的API. DOM可以把HTML和XML描述为一个文档树.树上的每一个分支 ...
- docker部署beego环境解决golang三方依赖库问题
直接上图,有图有真相 Dockerfile文件中 运行dockercompose命令即可 以上请注意路项目路徑不要搞错
- Find 命令记录
当需要查找一个时间的文件时 使用find [文件目录] -mtime [时间] 例如:查看mysql.bak目录下的1天前的文件 find mysql.bak -mtime 找到此文件之后需要将它移动 ...
- Android笔记(六十一)动态添加组件
想要一个功能,点击按钮,可以在已有的布局上,新添加一组组件. 动态的创建组件,本质上还是创建组件,只不过是在程序中根据逻辑来创建.大致步骤是找到要创建控件的位置,然后将要创建的组件添加进去. 看代码: ...
- Android自动化测试探索(一)adb详细介绍
adb详细介绍 #1. 基本简介 adb,即Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具 #2. Mac上安装adb 安装brew /usr/bin/r ...
- P1436 棋盘分割[dp]
题目描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的两部分中的任意一块继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘.(每次 ...
- No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.lang.String>]
java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...