HTML5 提供了两种在客户端存储数据的新方法:

  • localStorage - 本地永久存储,下次打开浏览器数据依然存在
  • sessionStorage - 只存在于一个会话的数据存储,关闭浏览器数据会被清除
注意:1)只要清除浏览器cookie,两种存储方式的数据都会被清除2)对于不同的网站,数据存储于不同的区域,各网站只能访问其自身的数据3)浏览器之间的数据是各自独立的(比如Firefox中使用localStorage存储一组数据,在Chrome浏览器下是无法读取的)

1、目前大部分的浏览器已支持web storage, 当然也可以检测一下:

1     if (!window.localStorage) {
2         alert('您的浏览器不支持localStorage');
3     }
4
5     if (!window.sessionStorage) {
6         alert('您的浏览器不支持sessionStorage');
7     }

2、方法

localStorage,sessionStorage 有5个方法,使用方法一致,以下localStorage为例:

  • localStorage.setItem([string] key, [string] value);      //本地客户端存储一个字符串类型的数据

  • localStorage.getItem([string] key);                          //可以读取已知key值的value

  • localStorage.removeItem([string] key);                    //删除指定key的item

  • localStorage.clear();                                               //清除localstorage所有key/value键位对

  • localStorage.key([number] index);                          //得到某个索引的key

3、示例

记录进入页面次数,查看 localStorage 与 sessionStorage 存储数据的变化。

Html:

1 <div>
2     进入页面次数(localStorage):<mark id="local"></mark> time(s)
3     <br>
4     进入页面次数(sessionStorage):<mark id="session"></mark> time(s)
5 </div>

Javascript:

1 //记录localStorage进入页面次数
2 var count1 = localStorage.getItem('localCount') ? parseInt(localStorage.getItem('localCount')) + 1 : 1;
3 localStorage.setItem('localCount', count1);
4 document.getElementById('local').innerHTML = count1;
5
6 //记录sessionStorage进入页面次数
7 var count2 = sessionStorage.getItem('sessionCount') ? parseInt(sessionStorage.getItem('sessionCount')) + 1 : 1;
8 sessionStorage.setItem('sessionCount', count2);
9 document.getElementById('session').innerHTML = count2;

step1:进入chrome刷新页面10次

step2:关闭chrome再重新打开

说明:关闭页面后,sessionStorage 的值丢失

step3:第一次进入firefox

说明:浏览器之间的数据是各自独立的,firefox 读取不到 chrome的客户端存储数据

step4:清空chrome的cookie

说明:清空cookie,localStorage 与 sessionStorage 的数据均被清除

源代码:

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>在客户端存储数据</title>
 6 </head>
 7 <body>
 8 <div>
 9     进入页面次数(localStorage):<mark id="local"></mark> time(s)
10     <br>
11     进入页面次数(sessionStorage):<mark id="session"></mark> time(s)
12 </div>
13  <script>
14      if (window.localStorage) { //sessionStorage
15          //记录localStorage进入页面次数
16          var count1 = localStorage.getItem('localCount') ? parseInt(localStorage.getItem('localCount')) + 1 : 1;
17          localStorage.setItem('localCount', count1);
18          document.getElementById('local').innerHTML = count1;
19
20          //记录sessionStorage进入页面次数
21          var count2 = sessionStorage.getItem('sessionCount') ? parseInt(sessionStorage.getItem('sessionCount')) + 1 : 1;
22          sessionStorage.setItem('sessionCount', count2);
23          document.getElementById('session').innerHTML = count2;
24      }
25  </script>
26 </body>
27 </html>

View Code

转载于:https://www.cnblogs.com/bean-sprout/p/5913634.html

HTML5 本地存储(Web Storage)相关推荐

  1. HTML5 本地存储 Web Storage

    Web Storage Web Storage 是一项非常重要,并且很实用的技术,已经被大多数浏览器(包括IE8)所支持, 在HTML4时代, 虽然cookie无处不在,但cookie仍然有自己的硬伤 ...

  2. (五)HTML5本地存储——Web Storage

    Web应用的发展,使得客户端存储使用得也越来越多,而实现客户端存储的方式则是多种多样.最简单而且兼容性最佳的方案是Cookie,但是作为真正的客户端存储,Cookie则存在很多致命伤.此外,在IE6及 ...

  3. html5 本地存储Web Storage

    在过去本地存储数据基本都是使用cookies保存一些简单的数据,使用cookies存储永久数据存在以下几个问题: 1.cookies的大小被限制在4KB: 2.cookies是随HTTP事务一起发送的 ...

  4. HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

  5. HTML5本地存储——IndexedDB

    在HTML5本地存储--Web SQL Database提到过Web SQL Database实际上已经被废弃,而HTML5的支持的本地存储实际上变成了 Web Storage(Local Stora ...

  6. HTML5本地存储之Web Storage篇

    2019独角兽企业重金招聘Python工程师标准>>> Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的c ...

  7. 【学习HTML5】 网页存储Web Storage技术

    Web Storage组成 Web Storage实际上由两部分组成:sessionStorage与localStorage . sessionStorage用于本地存储一个会话(session)中的 ...

  8. HTML5 本地存储

    HTML5 本地存储 1.sessionStorage 2.localStorage 3.Database Storage 4.globalStorage 5.兼容性 参考文献 本地持久化存储一直是本 ...

  9. HTML5本地存储不完全指南

    历史 在HTML5本地存储之前,如果我们想在客户端保存持久化数据,有这么几个选择: HTTP cookie.HTTP cookie的缺点很明显,最多只能存储4KB的数据,每个HTTP请求都会被传送回服 ...

  10. H5本地储存Web Storage

    一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...

最新文章

  1. kmeans 是Nondeterministic algorithm
  2. oracle 连接greenplum,Oracle通过DBLINK访问GreenPlum
  3. AngularJS中的过滤器(filter)
  4. linux oracle pam,Linux下安装Oracle11g软、硬件环境检测和修改
  5. Javascript原生之用cssText批量修改样式
  6. 基于QT的超市信息管理系统
  7. 室外3D建图定位(0)Loam-3D激光定位算法的一些思考
  8. 【位操作笔记】计算以10为底整数N的对数 普通方法
  9. 在Nuxt项目中使用iconfont阿里巴巴图标unicode
  10. GSEA介绍--鹏鹏原创,必是精品
  11. 拼多多优惠券赔付规则 拼多多发货超时具体怎么赔 拼多多超时发货之后没有优惠券怎么办
  12. 软件测试(敏捷开发、迭代模型)
  13. The Willpower Instinct
  14. 【深度学习】更大规模的完整视频理解
  15. 1023: 大小写转换
  16. BZOJ2407:探险/BZOJ4398:福慧双修-最短路+分治
  17. Angular慕课网
  18. Java中StringBuffer的相关运用与实践
  19. [javaEE]怎样获得已安装的Tomcat的版本呢?
  20. 【高通qdcm使用总结】

热门文章

  1. 点到曲线的距离_如何从“圆锥”曲线到圆锥曲线
  2. python中and和or的惰性求值特点_Python中的惰性评估
  3. Maven工作笔记-在内网环境下开发Spring Boot(使用IDEA)
  4. Qt文档阅读笔记-qRegisterMetaType()的原理及其使用
  5. mysql和sqlite3 ios_iOS开发:用SQLite3存储和读取数据
  6. flstudio插件找不到_【干货】音频插件完全指引手册
  7. php open gl,Open GL 资料 01
  8. 打开mysql的远程连接_开启mysql的远程访问权限
  9. android AVB2.0学习总结
  10. 实现自动带密码登陆远程机执行shell命令(linux)