html5 localStorage本地存储_动力节点Java学院整理


Posted in HTML / CSS onJuly 06, 2017

localStorage 即本地存储,可用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。

在JavaScript语言中可通过 window.localStorage 或 localStorage 调用此对象。

特点

1) 同源策略限制。若想在不同页面之间对同一个localStorage进行操作,这些页面必须在同一协议、同一主机名和同一端口下。(IE8和9存储数据仅基于同一主机名,忽略协议(HTTP和HTTPS)和端口号的要求)

2) 只在本地存储。localStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效。

3) 永久保存。保存的数据没有过期时间,直到手动去除。

4) 存储方式。localStorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。true值会转换为"true")。

5) 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下。

6) 同浏览器共享。localStorage的数据可以在同一个浏览器的不同标签页的同源页面之间共享。

浏览器最小版本支持

支持localStorage浏览器的最小版本:IE8、Chrome 5。

适用场景

localStorage 比较适用2个地方:

1) 数据比较大的临时保存方案。如在线编辑文章时的自动保存。

2) 多页面访问共同数据。sessionStorage只适用于同一个标签页,localStorage相比而言可以在多个标签页中共享数据。

属性

html5 localStorage本地存储_动力节点Java学院整理readonly int localStorage.length :返回一个整数,表示存储在 localStorage 对象中的数据项(键值对)数量。

方法

html5 localStorage本地存储_动力节点Java学院整理string localStorage.key(int index) :返回当前 localStorage 对象的第index序号的key名称。若没有返回null。

html5 localStorage本地存储_动力节点Java学院整理string localStorage.getItem(string key) :返回键名(key)对应的值(value)。若没有返回null。

html5 localStorage本地存储_动力节点Java学院整理void localStorage.setItem(string key, string value) :该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。

html5 localStorage本地存储_动力节点Java学院整理void localStorage.removeItem(string key) :将指定的键名(key)从 localStorage 对象中移除。

html5 localStorage本地存储_动力节点Java学院整理void localStorage.clear() :清除 localStorage 对象所有的项。

事件

html5 localStorage本地存储_动力节点Java学院整理storage :当对 localStorage 进行更改时,触发此事件。

在IE 11和Chrome中对此事件有不同的触发机制:

1) 当前页面是否触发:当前页面进行localStorage 操作时,IE 11是当前页面也触发此事件,Chrome 是当前页面不触发此事件。

2) 对localStorage进行重复操作:如存入重复的数据,IE 11是触发此事件,Chrome 是不触发此事件。

存储数据

采用setItem()方法存储

localStorage.setItem('testKey','这是一个测试的value值'); // 存入一个值

通过属性方式存储  

localStorage['testKey'] = '这是一个测试的value值';

获取数据

通过getItem()方法取值

localStorage.getItem('testKey'); // => 返回testKey对应的值

通过属性方式取值

localStorage['testKey']; // => 这是一个测试的value值

存储Json对象

localStorage 也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。

var userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
localStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = localStorage .getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom
HTML / CSS 相关文章推荐
利用CSS3实现毛玻璃效果示例源码
Sep 25 HTML / CSS
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
CSS3之边框多颜色Border-color属性使用示例
Oct 11 HTML / CSS
CSS3实现千变万化的文字阴影text-shadow效果设计
Apr 26 HTML / CSS
CSS3 animation实现逐帧动画效果
Jun 02 HTML / CSS
浅谈CSS3中的变形功能-transform功能
Dec 27 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
Dec 04 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
Mar 17 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
Apr 26 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
Jan 05 HTML / CSS
使用CSS实现六边形的图片效果
Aug 05 HTML / CSS
html5 sessionStorage会话存储_动力节点Java学院整理
Jul 06 #HTML / CSS
HTML5表格_动力节点Java学院整理
Jul 11 #HTML / CSS
html5嵌入内容_动力节点Java学院整理
Jul 07 #HTML / CSS
html5定制表单_动力节点Java学院整理
Jul 11 #HTML / CSS
html5文本内容_动力节点Java学院整理
Jul 11 #HTML / CSS
HTML5中视频音频的使用详解
Jul 07 #HTML / CSS
html5组织文档结构_动力节点Java学院整理
Jul 11 #HTML / CSS
You might like
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
php利用header函数下载各种文件
2016/08/24 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python中List.index()方法的使用教程
2015/05/20 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
自考毕业自我鉴定范文
2013/10/27 职场文书
优秀求职自荐信怎样写
2013/12/18 职场文书
档案室主任岗位职责
2014/02/12 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS