谈一谈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轻松实现圆角效果
Nov 09 HTML / CSS
css3之UI元素状态伪类选择器实例演示
Aug 11 HTML / CSS
css3实现垂直下拉动画菜单示例
Apr 22 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
详解基于 Canvas 手撸一个六边形能力图
Sep 02 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
html5教程画矩形代码分享
Dec 04 HTML / CSS
html5中valid、invalid、required的定义
Feb 21 HTML / CSS
HTML5 Canvas锯齿图代码实例
Apr 10 HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 HTML / CSS
mui几种页面跳转方式对比总结概括
Aug 18 HTML / CSS
六个好看实用的 HTML + CSS 后台登录入口页面
Apr 28 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
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
php实现的递归提成方案实例
2015/11/14 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
宣传部部长竞选演讲稿
2014/04/26 职场文书
初中班级口号
2014/06/09 职场文书
超市创业计划书
2014/09/15 职场文书
工程部主管岗位职责
2015/02/12 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
为自己工作观后感
2015/06/11 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
Python基础之元类详解
2021/04/29 Python
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技