本地存储localStorage以及它的封装接口store.js的使用
- 0 推荐
- 9 收藏,2k 浏览
本地存储localstorage
localstorage 是 HTML5 提供的在客户端存储数据的新方法,主要作用是将数据保存在客户端中,并且数据是永久保存的,除非人为干预删除。
localstorage作为本地存储来使用,解决了cookie存储空间不足的问题:cookie中每条cookie的存储空间为4k,但localStorage的存储空间有5M大小。另外,相比于cookie,localStorage可以节约带宽,在同一个域内,浏览器每次向服务器发送请求,http都会带着cookie,使cookie在浏览器和服务器之间来回传递,浪费带宽,但localStorage将第一次请求的数据直接存储到本地,避免了来回传递。
localstorage 的局限
1、只有版本较高的浏览器中才支持 localstorage
2、localStorage的值的类型限定为string类型,使用 JSON 时需转换
3、如果存储内容过多会消耗内存空间,导致页面变卡,因为localStorage本质上是对字符串的读取
localstorage 有两种方法:分别是 localstorage 和 sessionStorage 。sessionStorage 方法针对一个 session
进行数据存储。当用户关闭浏览器窗口后,数据会被删除。localStorage与sessionStorage的唯一区别就是localStorage属于永久性存储,而sessionStorage在当会话结束的时候,sessionStorage中的键值对会被清空。
localstorage的用法
我们在使用localStorage的时候,需要先判断浏览器是否支持localStorage这个属性:
if(window.localStorage){
alert("浏览器支持localStorage");
}else{
alert("浏览器支持localStorage");
}
接下来分别是它的写入、读取、删除
//localStorage的写入
var storage=window.localStorage;
storage["a"]=1; //写入a字段
storage.b=2; //写入b字段
storage.setItem("c",3); //写入c字段
console.log(typeof storage["a"]); //string
console.log(typeof storage["b"]); //string
console.log(typeof storage["c"]);//string
//localStorage的读取
var a=storage.a;
console.log(a); //1
var b=storage["b"];
console.log(b); //2
var c=storage.getItem("c");
console.log(c); //3
//localStorage的删除
storage.clear(); //将localStorage的所有内容清除
使用key()方法,获取相应的键
var storage=window.localStorage;
storage.a=1;
storage.setItem("c",3);
for(var i=0;i<storage.length;i++){
var key = storage.key(i);
console.log(key); //a c
}
对用户访问页面的次数进行计数:
if(localStorage.pagecount){
localStorage.pagecount = Number(localStorage.pagecount)+1;
}else{
localStorage.pagecount = 1;
}
document.write("你第"+localStorage.pagecount+"访问该页面");
sessionStorage的用法和localStorage一样用法和localStorage一样,但是关闭计数页面后再打开时会重新开始计数。
store.js
GitHub地址
store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash来实现。它提供非常了简洁的 API 来实现跨浏览器的本地存储功能。
store.js的使用
store.js的基本API有:
store.set(key, val) //存储 key 的值为 val;
store.get(key) //获取 key 的值;
store.remove(key) //移除 key 的记录;
store.clear() //清空存储;
store.getAll() //返回所有存储;
store.forEach() //遍历所有存储。
使用store.js提供的方法,需要先引入store.min.js插件:
<script type="text/javascript" src="store.min.js"></script>
首先判断浏览器是否支持本地存储
<script type="text/javascript">
init();
function init(){
if(!store.enabled){
alert("你的浏览器不支持本地存储,请使用更高版本的浏览器");
return;
}else{
......
}
</script>
set
单个存储字符
格式:store.set(key, data[, overwrite]);
store.set('name','mavis'); //存储name的值为 mavis
store.set('name','angel'); //将name的值存储为angel
在控制台显示
get
获取存入的key值
格式:store.get(key[, alt])
store.set('name','mavis');
store.set('name','angel');
store.get('name'); //angel
remove移除key的记录
store.remove('name');
在控制台可以看到name的值已经被移除
clear
清除所有本地存储:store.clear();
getAll
从所有存储中获取值
格式:store.getAll()
store.set('name','mavis');
store.getAll().user.name == 'mavis'; //true
forEach遍历所有的值
store.set('user',{name:'mavis',likes:'javascript'}); // 存储对象 - 自动调用 JSON.stringify
var user = store.get('user'); // 获取存储的对象 - 自动执行 JSON.parse
store.forEach(function(key, val) {
console.log(key, '==', val)
}) // 遍历所有存储
使用store,js简化了使用localStorage原生方法的操作
LocalStorage 并没有提供过期时间接口,只能通过存储时间做比对实现。
最后介绍一下在浏览器中查看LocalStorage的方法:F12打开开发人员工具→Application→Storage→LocalStorage
本地存储localStorage以及它的封装接口store.js的使用的更多相关文章
- 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题 开发H5 webapp时经常需要使用本地存储,如localStorage和sessionStor ...
- html5的本地存储localStorage和sessionStorage
html5的本地存储localStorage和sessionStorage html5中新增的比较重要的一个功能就是web storage来实现客户端本地存储数据,之前存储数据都是用cookie来实现 ...
- 本地存储localStorage sessionStorage 以及 session 和cookie的对比和使用
cookie和session都是用来跟踪浏览器用户身份的会话方式. 1.验证当前服务中继续请求数据时,哪些缓存数据会随着发往服务器? 只有cookie中设置的缓存数据会发送到服务器端 2. 强调几点: ...
- 本地存储 localStorage
本地存储localStorage 概念:window对象下面的属性,html5新增的,将5M大小的数据存储本地的浏览器上面. 浏览器支持存储5M大小 本地存储localStorage特点 本地存储属于 ...
- HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)
一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...
- HTML5本地存储localStorage与sessionStorage
在最近的项目中用到了html5的本地存储,下面总结一下. 1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(applica ...
- 本地存储 localStorage/sessionStorage/cookie
cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...
- HTML5的本地存储 LocalStorage
localStorage顾名思义,就是本地存储的意思,在以前很长一段时间,要想在客户端存 储一些配置及登录信息等数据都只能通过COOKIE或flash的方式,如今html5来临,也 带来了更强大的本地 ...
- 开扒本地存储—localStorage
.localStorage是什么狂点查看demo localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期 的. 2.localStorage有哪些优点 1). 存储空间 ...
随机推荐
- hibernate联合主键注解方式
方法一:主键类用@Embeddable,pojo类仍然用@Entity但是引用主键类的对象用@Id 主键pojo类: @Embeddable public class composeIdPK impl ...
- [转]最好用的 AI 开源数据集 Top 39:NLP、语音等 6 大类
原文链接 本文修正部分错误. 以下是精心收集的一些非常好的开放数据集,也是做 AI 研究不容错过的数据集. 标签解释 [经典]这些是在 AI 领域中非常著名.众所周知的数据集.很少有研究者或工程师没有 ...
- placement new 笔记
之前看到 偶尔用placement new 的用法,当分配内存频繁,而且对效率要求很高的情况下,可以先申请一块大内存,然后在此内存上构建对象,关键是可以自动调用其构造函数,否则要悲剧. 但是之后要自己 ...
- 自由是有代价的:聊聊这几年尝试的道路 要想生活好,别看哲学书和思想书。简单看看可以,看多了问题就大了。还是要去研究研究些具体的问题。别jb坐在屋子里,嘴里念着海子的诗,脑袋里想康德想的事情,兜里屁都没有,幻想自己是大国总理,去想影帝是怎么炼成的。
自由是有代价的:聊聊这几年尝试的道路 现在不愿意写过多的技术文章了,一点是现在做的技术比较偏,写出来看的人也不多,二来是家庭事务比较繁多,没以前那么有时间写了.最近,园子里多了一些写经历的文章,我也将 ...
- iphone3g 蜂窝数据有效设置
iphone3g 蜂窝数据有效设置 蜂窝数据 APN cmnet/空 用户名 空 A密码 空彩信(默认为空,需要控制的话,可以设置) APN cmwap/空 用 ...
- 【Android开发】之Fragment生命周期
上一篇博客我们讲到了,Fragment的基本使用,相信大家都已经了解怎么去使用了.如果还有不懂得同学可以去看一下,传送门.现在我们来讲解一下Fragment的生命周期. 一.Fragment的事务 再 ...
- golang学习笔记 --switch
switch的例子: switch coinflip() { case "heads": heads++ case "tails": tails++ defau ...
- “21天教你学会C++”
下面是一个<Teach Yourself C++ in 21 Days>的流程图,请各位程序员同仁认真领会.如果有必要,你可以查看这个图书以作参照:http://www.china-pu ...
- 利用 PowerShell 分析SharePoint WebApplication 体系结构
之前一篇文章<两张图看清SharePoint 2013 Farm 逻辑体系结构>谈到Web Application,Content Database,Site Collection的关系. ...
- Android Developers:向其它应用发送用户
Android的一个非常重要的功能是,应用程序基于它要执行的一个“动作”想其它应用程序发送用户的能力.例如,如果你的应用程序要显示一个地图,你没有在你的应用程序中创建显示地图的Activity.相反, ...