谈一谈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效果:自定义“W”形运行轨迹实例
Mar 29 HTML / CSS
CSS3 rgb and rgba(透明色)的使用详解
Sep 25 HTML / CSS
HTML5 Geolocation API的正确使用方法
Dec 04 HTML / CSS
HTML高亮关键字的实现代码
Oct 22 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
Jan 30 HTML / CSS
html5小技巧之通过document.head获取head元素
Jun 04 HTML / CSS
深入探究HTML5的History API
Jul 09 HTML / CSS
HTML5无刷新改变当前url的代码
Mar 15 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
Nov 15 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
Jan 29 HTML / CSS
Canvas如何做个雪花屏版404的实现
Sep 25 HTML / CSS
DIV CSS实现网页背景半透明效果
Dec 06 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
详解Python发送email的三种方式
2018/10/18 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
Collection和Collections的区别
2016/05/02 面试题
安全大检查实施方案
2014/02/22 职场文书
医院院务公开实施方案
2014/05/03 职场文书
低碳环保演讲稿
2014/08/28 职场文书
校长创先争优承诺书
2014/08/30 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
德生2P3收音机开箱评测
2022/04/30 无线电