谈一谈HTML5本地存储技术


Posted in HTML / CSS onMarch 02, 2016

本地缓存是HTML5出现的新技术,这个技术的出现使得移动web的开发成为了可能。我们都知道,要想打造一个高性能的移动应用,速度是关键。而在HTML5之前,只有cookie能够存储数据,大小只有4kb。这严重限制了应用文件的存储,导致web开发的移动应用程序需要较长的加载时间。有了本地存储,让web移动应用能够更接近原生。

浏览器中,本地存储通过window.localStorage调用。判断浏览器是否支持本地存储的代码如下:

XML/HTML Code复制内容到剪贴板
  1. if(window.localStorage){     
  2.  alert('This browser supports localStorage');     
  3. }else{     
  4.  alert('This browser does NOT supportlocalStorage');     
  5. }     

如果我们要将数据存储到本地,最简单的方法就是为window。localStorage添加一个属性并为其赋值。例如我们要存储一个数据name,它的值为Tom,就可以通过如下方式实现:

XML/HTML Code复制内容到剪贴板
  1. window.localStorage.name = “Tom”     

这里要注意字符串变量需要引号。当我们想取出本地存储中的数据市,可以利用getItem方法。整个代码流程如下:

JavaScript Code复制内容到剪贴板
  1. var storage = window.localStorage;     
  2. storage.name = “Tom”;     
  3. //取出name数据     
  4. var name1 = storage.getItem(“name”);     
  5. alert(name1);     

这段代码在Chrome浏览器控制台中的显示结果就是一个显示Tom的提示框。可见我们已经通过这种方式正确的进行了数据的存储与读取。

如果我们想删除这些存储的数据,可以使用removeItem方法。在以上代码中加入如下代码:

JavaScript Code复制内容到剪贴板
  1. storage.removeItem(“name”);     

这时当我们再次alert的时候将显示null,因为这个数据已经被清空了。

了解了一些基本的本地存储用法和思想后,我们来系统的介绍一下本地存储

本地存储分为三大类:localStorage/sessionStorage/本地数据库

localStorage和sessionStorage二者的用法、所包含的函数、调用方法等都是相同的,二者仅仅是含义不同。其中,localStorage所存储的数据是长期有效的,而sessionStorage所存储的信息当每个会话(session)关闭时就会销毁(通俗的说就是页面关闭后数据自动销毁)。

由于二者的特性不同,因此应用的场景也有很大区别。通常,当我们需要存储一些用户配置项等一些需要长时间存储的数据信息时,需要使用localStorgae进行保存,利用了其时效长的特点。相应的,当我们需要实现类似购物车等基于session的功能时,就需要使用sessionStorage。

由于localStorage和sessionStorage的用法相同,因此我们以localStorage为例,介绍二者的方法。

1、设置数据setItem
用法为localStorage.setItem(“key”, “value”),表示将value值传递给key。(sessionStorage.setItem使用方法同理,下面不再一一介绍)

2、获取数据getItem
用法为localStorage.getItem(“key”),只要输入相应的key值,就可以从中取出对应的value值。

3、删除特定的数据removeItem
用法为localStorage.removeItem(key),删除key对应的数据。

4、清空所有数据clear
用法为localStorage.clear(),表示清空所有存储系统中的数据。

以上就是一些最基本的sessionStorage/localStorage用法,希望对大家的学习有所帮助。

HTML / CSS 相关文章推荐
使用css3实现的windows8开机加载动画
Dec 09 HTML / CSS
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
May 17 HTML / CSS
CSS3实现内凹圆角的实例代码
May 04 HTML / CSS
HTML5引入的新数组TypedArray介绍
Dec 24 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
Apr 23 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
Oct 16 HTML / CSS
HTML5打开手机扫码功能及优缺点
Nov 27 HTML / CSS
利用canvas实现图片压缩的示例代码
Jul 17 HTML / CSS
使用canvas实现黑客帝国数字雨效果
Jan 02 HTML / CSS
使用css样式设计一个简单的html登陆界面的实现
Mar 30 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
Mar 31 HTML / CSS
逼真的HTML5树叶飘落动画
Mar 01 #HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 #HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
Mar 01 #HTML / CSS
解析HTML5中的新功能本地存储localStorage
Mar 01 #HTML / CSS
基于HTML5的齿轮动画特效
Feb 29 #HTML / CSS
HTML5中meta属性的使用方法
Feb 29 #HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
Feb 29 #HTML / CSS
You might like
php curl模拟post请求小实例
2013/11/13 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
初探nodeJS
2017/01/24 NodeJs
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
python 接口返回的json字符串实例
2018/03/27 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python向图片里添加文字
2019/11/26 Python
python实现人机猜拳小游戏
2020/02/03 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
详解python polyscope库的安装和例程
2020/11/13 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
工程业务员岗位职责
2013/12/31 职场文书
运动会广播稿200米
2014/01/27 职场文书
三个儿子教学反思
2014/02/03 职场文书
《母鸡》教学反思
2014/02/25 职场文书
师德师风建设方案
2014/05/08 职场文书
交通安全责任书范本
2014/07/24 职场文书
教师批评与自我批评
2014/10/15 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书