本地存储 博客分类: 本地存储 web
随着WEB应用的快速发展,本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,但是cookie的缺点是显而易见的,可能被用户禁用,在IE7+和firefox上,每个域最多只能保存50个Cookie,每个Cookie大小不超过4KB(有兴趣可以去浏览笔者博客“浅谈Cookie”);因此,Web Storage就显得更加实用。
sessionStorage与localStorage
Web Storage实际上由两部分组成:sessionStorage与localStorage。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
存储数据的方法就是直接给window.localStorage添加一个属性,例如:window.localStorage.a 或者 window.localStorage["a"]。
localStorage.num=5;设置num为“5”;
localStorage["str"]="happy";设置str为“happy”;
确定浏览器支持localStorage后,我们就可以使用它的接口了,localStorage的使用方法很简单,在chrome的控制台里面打印一下localStorage,就能列出它的全部方法,我相信很多人一看就能明白了。
我们主要用到的
length:本地存储数据的个数;
setItem(key,value):向key字段写入value数据;
getItem(key):去key字段的数据;
removeItem(key):移除key字段;
clear():清空该域下的所有数据;
key(i):获取第i个数据的key;
需要注意的是,HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以在存和读取的时候,需要自己进行类型的转换,最常用的是调用JSON.stringify()将其转为字符串,调用JSON.parse()将字符串转为json格式,如下:
var current_item={sort: "饮料",name: "可口可乐", price: "3", unit: "瓶",count:0};
localStorage.setItem("user",JSON.stringify(current_item)); //往本地存 current_item这个对象
var cartInfo=JSON.parse(localStorage.getItem("user"));//从本地取出 current_item这个对象
以上就是,笔者对本地存储的一些简单理解,仅供参考。
推荐阅读
-
存储过程第一步——hello world 博客分类: 存储过程 SQLOracle编程数据结构
-
本地存储 博客分类: 本地存储 web
-
MySQL主从服务器简易配置 博客分类: 存储 MySQL
-
将远程数据库导入到本地数据库 博客分类: MySQL数据存储 mysql
-
将远程数据库导入到本地数据库 博客分类: MySQL数据存储 mysql
-
SAE python+chrome扩展快速存储喜欢的图片(可做图床) 博客分类: 我的技术资料收集 料收集python图床sae
-
本地Tomcat里可以跑的java web应用,部署到sae上,报http 500错误 博客分类: java web java websaeserver errorhttp 500tomcat
-
maven3 手动安装本地jar到仓库 博客分类: maven maven
-
maven3 手动安装本地jar到仓库 博客分类: maven maven
-
PHP调用MS SQL 存储过程 博客分类: 数据库PHP phpsql