谈一谈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对图片照片进行边缘模糊处理的实现
Aug 08 HTML / CSS
基于css3仿造window7的开始菜单
Jun 17 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
纯CSS绘制漂亮的圆形图案效果
May 07 HTML / CSS
css3 实现滚动条美化效果的实例代码
Jan 06 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
Mar 25 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
Dec 31 HTML / CSS
Html5+JS实现手机摇一摇功能
Apr 24 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
Dec 14 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
Mar 15 HTML / CSS
CSS代码检查工具stylelint的使用方法详解
Mar 27 HTML / CSS
深入理解margin塌陷和margin合并的解决方案
Jun 26 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制作新闻系统的思路
2006/10/09 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
javascript测试题练习代码
2012/10/10 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
用Python进行简单图像识别(验证码)
2018/01/19 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Django组件content-type使用方法详解
2019/07/19 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
阿波罗盒子:Apollo Box
2017/08/14 全球购物
民生工程实施方案
2014/03/22 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书