HTML5 本地存储Web Storage简单了解
HTML5本地存储规范,定义了两个重要的API :Web Storage 和 本地数据库Web SQL Database。
本地存储Web Storage 实际上是HTML4的cookie存储机制的一个改进版本,然而两种机制的功能又不相同。web storage 的作用是在网站中把有用的信息存储到本地的计算机
或移动设备上,然后根据实际需要从本地读取信息。
web storage 提供了两种存储类型API接口:sessionStorage 和 localStorage 。
sessionStorage:会话期间内有效;
localStorage :永久的,除非用户或程序对其执行删除操作;
如何检测浏览器是否支持web storage 代码如下:
if(window.localStorage){
//浏览器支持localStorage
}
if(window.sessionStorage){
//浏览器支持sessionStorage
}
我们来看看HTML5规范中定义的Storage的如下API:
interface Storage{
readonly attribute unsigned long length;
DOMString? key(in unsigned long index);
getter DOMString getItem(in DOMString key);
setter creator void setItem(in DOMString key,in DOMString value);
deleter void removeItem(in DOMString key);
void clear();
}
从规范定义的接口来看,接口数量并不多,只有length是属性,其余都是方法。
其中getItem 和 setItem 互为一对setter 和 getter方法,如果有面向对象知识,看到这种方法名的定义,必定不会感到陌生。
removeItem方法的主要作用是删除一个key/value(键/值)对。
clear方法的作用则是删除所有的键值对。
探讨如何使用storage的各个API,代码如下:
localStorage.setItem("name","存储的内容!!!");//存储内容
localStorage.getItem("name"); //读取内容
localStorage.key(1); //取出键值
localStorage.removeItem("name"); //删除指定key为“name”的item
localStorage.clear();// 删除localStorage所有数据
练习1代码如下

<!-- 提示浏览器是否支持localStorage -->
<div id="msg" style="color: #f00;"></div>
<h4>通过localStorage的一些方法来添加 修改 删除数据 <span style="color: #0f0">修改后需要刷新页面</span></h4>
<ul>
<li>姓名:<input type="text" id="name"><input type="button" value="提交" id="subName"><input type="button" value="删除" id="clearName"></li>
<li>年龄:<input type="text" id="age"><input type="button" value="提交" id="subAge"><input type="button" value="删除" id="clearAge"></li>
<li>出生日期:<input type="text" id="date"><input type="button" value="提交" id="subDate"><input type="button" value="删除" id="clearDate"></li>
</ul>
<input type="button" id="clearAll" value="清除所有数据">
<script type="text/javascript">
function _(id){
return document.getElementById(id);
} if(window.localStorage){
//浏览器支持localStorage
//console.log("浏览器支持localStorage");
_("msg").innerHTML = "浏览器支持localStorage";
// 初始是本地数据
_("name").value = localStorage.getItem("name");
_("age").value = localStorage.getItem("age");
_("date").value = localStorage.getItem("date"); //存储数据或修改数据
_("subName").onclick = function(){
var str = _("name").value;
localStorage.setItem("name",str);//存储姓名
};
_("subAge").onclick = function(){
var str = _("age").value;
localStorage.setItem("age",str);//存储年龄
};
_("subDate").onclick = function(){
var str = _("date").value;
localStorage.setItem("date",str);//存储出生日期
};
// 通过key的值来删除item
_("clearName").onclick = function(){
localStorage.removeItem("name");
};
_("clearAge").onclick = function(){
localStorage.removeItem("age");
};
_("clearDate").onclick = function(){
localStorage.removeItem("date");
};
// 删除localStorage所有数据
_("clearAll").onclick = function(){
localStorage.clear();
};
}else{
_("msg").innerHTML = "浏览器不支持localStorage";
}
</script>
HTML5 本地存储Web Storage简单了解的更多相关文章
- html5本地存储web storage的简单使用
html5的一个非常cool的功能,就是web storage,类似于之前的cookie,不过与之不同的是,web storage 拥有本地5兆的容量可以存储,而cookie却只有4K,这是完全不能比 ...
- HTML5本地存储 Web Storage
Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API sessionStorage 和 localStorage,二者的差异主要是数 ...
- HTML5本地存储——Web SQL Database
在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...
- [转]HTML5本地存储——Web SQL Database
在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...
- HTML5本地存储(Local Storage) 的前世今生
长久以来本地存储能力一直是桌面应用区别于Web应用的一个主要优势.对于桌面应用(或者原生应用),操作系统一般都提供了一个抽象层用来帮助应用程序保存其本地数据 例如(用户配置信息或者运行时状态等). 常 ...
- HTML5本地存储——Web SQL Database与indexedDB
虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...
- 本地存储 web storage
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- html5本地存储 local storage
HTML5 web storage, a better local storage than cookies. With HTML5, web pages can store data locally ...
- HTML5本地存储——IndexedDB(一:基本使用)
在HTML5本地存储——Web SQL Database提到过Web SQL Database实际上已经被废弃,而HTML5的支持的本地存储实际上变成了 Web Storage(Local Stora ...
随机推荐
- AOE网络的关键路径问题
关于AOE网络的基本概念可以参考<数据结构>或者search一下就能找到,这里不做赘述. 寻找AOE网络的关键路径目的是:发现该活动网络中能够缩短工程时长的活动,缩短这些活动的时长,就可以 ...
- 【luogu P3371 单源最短路】 模板 vector+SPFA
stl真是好,,偷懒少写邻接表,, 两个STL应用使代码简短了很多.然而还是那句话,天上不会掉馅饼,程序的效率还是有所下降的.然而,效率不是全部,人们宁可牺牲三倍效率用Java而不用C语言就是最好的例 ...
- 【luoguP1086】【2004NOIP-Ua】花生采摘
P1086 花生采摘 题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都 ...
- Git命令篇
前文: Git有三种状态,你的文件可能处于其中之一:已提交(committed),已修改(modiffied)和已暂存(staged) 三个工作区域概念:Git仓库.工作目录以及暂存区 Git保存信息 ...
- JS JavaScript深拷贝、浅拷贝
浅拷贝:浅拷贝只是复制了内存地址,如果原地址中的对象改变了,浅拷贝出来的对象也会相应改变. 深拷贝:开辟了一块新的内存存放地址和地址指向的对象,原地址的任何对象改变了,深拷贝出来的对象不变. 浅拷贝数 ...
- yarn的学习之1-架构
本文翻译自http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YARN.html 译注:原文说得有些过于简单的,并且有些 ...
- redis 带入的挖矿病毒 qW3xT.2 wnTKYg 解决方法
最近我的阿里云ecs 老是收到 云盾态势感知系统检测到异常 top -c 后发现一个 疑似病毒 /tmp/qW3xT.2 看到网友们的解决方案 试过之后效果不错,可以用的 知道wnTKYg是什么鬼之 ...
- php常见面试(Smarty及相关知识)
1.Smarty简介: 是一种php模板引擎,它分开了后台程序和前台页面内容,使程序员和美工分工合作.还有其它模版引擎实现同样的目的. 2.Smarty使用: 建立php文件: 包含smarty类文件 ...
- [转]不让iTunes备份到c盘
很多人现在的C盘都是空间不大的SSD硬盘,ITUNES备份老是占越来越大的空间,不如动手把它改成其它盘好了.下面7个步骤教你转移备份. 1.需要一个小工具:Juction.exe,如果你已经是WIN7 ...
- Spark 推送数据至 elasticsearch
1.工程依赖 <properties> <spark_version>2.3.1</spark_version> <!-- elasticsearch--&g ...