谈一谈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参考手册和CSS3代码生成工具加速来学习网页制
Jul 11 HTML / CSS
css3圆角样式分享自定义按钮样式
Dec 27 HTML / CSS
CSS3中的clip-path使用攻略
Aug 03 HTML / CSS
CSS3中设置3D变形的transform-style属性详解
May 23 HTML / CSS
css3实现文字扫光渐变动画效果的示例
Nov 07 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
Apr 07 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
HTML5地理定位实例
Oct 15 HTML / CSS
HTML5触摸事件演化tap事件介绍
Mar 25 HTML / CSS
css3中2D转换之有趣的transform形变效果
Feb 24 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 HTML / CSS
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
Sep 23 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简单命令代码集锦
2007/09/24 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
python 矩阵增加一行或一列的实例
2018/04/04 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
终止劳动合同协议书
2014/04/14 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
婚礼庆典答谢词
2015/01/20 职场文书