### HTML5在客户端存储数据的新方法——localStorage
localStorage作为HTML5本地存储web storage特性的API之一,主要作用是将数据保存在客户端中,而客户端一般是指上海网站设计用户的计算机。
在移动设备上,由于大部分浏览器都支持web storage特性,因此在android和ios等智能手机上的web浏览器都能正常使用该特性。
localStorage保存的数据,一般情况下是永久保存的,也就是说只要采用localstorage保存信息,数据便一直存储在用户的客户端中。即使用户关闭当前web浏览器后重新启动,数据让然存在。知道用户或程序明确制定删除,数据的生命周期才会结束。
### cookie、 sessionStorage 、localStorage之间的区别和使用
cookie:存储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
使用场景:
localStorage可以用来统计页面访问次数。
sessionStorage可以用来统计当前页面元素的点击次数。
cookie一般存储用户名密码相关信息,一般使用escape转义编码后存储。
使用实例:
刷新页面会看到计数器在增长。请关闭浏览器窗口,然后再试一次,计数器会继续计数。localStorage 对象存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。
~~~
document.write("Visits "+ localStorage.pagecount + " time(s).");
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
if (localStorage.pagecount)
{
localStorage.pagecount=Number(localStorage.pagecount) +1;
}
else
{
localStorage.pagecount=1;
}
document.write("Visits "+ localStorage.pagecount + " time(s).");
</script>
</html>
~~~
重置:
刷新页面会看到计数器在增长。
请关闭浏览器窗口,然后再试一次,计数器已经重置了。
~~~
document.write("Visits " + sessionStorage.pagecount + " time(s) this session.");
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
if (sessionStorage.pagecount)
{
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}
else
{
sessionStorage.pagecount=1;
}
document.write("Visits " + sessionStorage.pagecount + " time(s) this session.");
</script>
</html>
~~~
注意:nternet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存储。
注意: Internet Explorer 7 及更早IE版本不支持web 存储。
因此:在使用 web 存储前,应检查浏览器是否支持 localStorage 和~~~
sessionStorage:
if(typeof(Storage)!=="undefined")
{
// 是的! 支持 localStorage sessionStorage 对象!
// 一些代码.....
} else {
// 抱歉! 不支持 web 存储。
}
~~~
- 前端框架
- 进阶攻略:前端最全的框架总结
- 进阶攻略:前端完整的学习路线
- 进阶攻略:最全的前端开源JS框架和库
- 常用的六个富文本编辑器
- 移动端手势的七个事件库
- Bootstrap相关优质项目学习清单
- 三个Bootstrap免费字体和图标库
- jQuery实现多种切换效果的图片切换的五款插件
- 移动端常用的四个框架
- 七个帮助你处理Web页面层布局的jQuery插件
- 前端工具
- 八款前端开发人员更轻松的实用在线工具
- 推荐几款好用的云笔记软件
- 几款在线的脑图制作工具
- 细数那些年我用过的前端开发工具
- 九款优秀的企业项目协作工具推荐
- 细数那些带打赏功能的平台
- 干货|几个有用的问答平台
- 前端资源
- web开发快速提高工作效率的一些资源
- 前端工程师们,这些干货让你开发效率加倍
- 那些我不得不收藏的技术网站
- 前端学习的几个网站
- 老司机程序员用到的各种网站整理
- 前端几个常用简单的开发手册拿走不谢
- 2017年度最流行的十大中国开源软件
- 程序员常用的六大技术博客类
- 提高工作效率的几个小技巧
- Bootstrap相关优质项目必备网址
- 前端技术栈
- h5调用底层接口的一些知识
- JS数组去重的6种算法实现
- Git安装及密钥的生成并上传本地文件到GitHub上
- JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
- 就如何快速免费提高网站排名小结
- 浅谈移动端页面无刷新跳转问题的解决方案
- 移动端iPhone系列适配问题的一些坑
- HTML5在客户端存储数据的新方法——localStorage
- 移动开发之css3实现背景几种渐变效果
- 前端杂谈
- 程序员如何利用空余时间挣零花钱?
- 一个前端妹子的悲欢编程之路
- 【程序员交友】祈澈姑娘:假装文艺与代码齐飞的前端妹子
- 初中级前端开发工程师如何提升个人能力?
- 如何打造个人技术影响力
- 程序媛,坚持这几个好习惯让你越来越美
- 工作中如何快速成长和学习?
- 我是如何快速积累工作经验
- 谷歌AI中国中心成立,人工智能势不可挡?
- 前端面试
- 一份来自前端开发工程师的规范简历
- 2017前端精品面试文章总结
- 面试经历:为即将找工作的你保驾护航
- 我的北漂之路 北漂如饮水,冷暖自知
- 如何在面试中脱颖而出?
- 2017年10大主流编程语言最新排行榜出炉
- 前端面试之前要准备的那些事