H5 客户端存储(Web Storage)

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 均有4个方法,使用方法一致,以下localStorage为例:

  • localStorage.setItem([string] key, [string] value);      //本地客户端存储一个字符串类型的数据
  • localStorage.getItem([string] key);                          //可以读取已知key值的value
  • localStorage.removeItem([string] key);                    //删除指定key的item
  • localStorage.clear();                                               //清除localstorage所有key/value键位对

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;

情景一:进入chrome刷新页面10次

情景二:关闭chrome再重新打开

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

情景三:第一次进入firefox

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

情景四:清空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>

时间: 2024-08-08 12:57:05

H5 客户端存储(Web Storage)的相关文章

HTML5 Web存储(Web Storage)技术及用法

在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣,它就是Web存储(Web Storage).Web存储(Web Storage)提供了一个在浏览器端保存用户会话信息的方法.下面让我们来看一看Web存储(Web Storage)的基本用法! Web存储(Web Storage)基本要领 存储的数据可以是任何类JSON的结构化数据. 存储的数据不会

Web存储(Web Storage)的浏览器支持情况

所有很酷的功能特征的出现最关键的就是浏览器的支持情况,幸运的是,所有的现代浏览器都支持HTML5 Web存储(Web Storage),从IE8开始也支持它.HTML5 Web存储(Web Storage)非常简单但也非常有用.因为HTML5 Web存储(Web Storage)需要使用JavaScript进行操作,所以,在使用它执行一些关键功能时要确保浏览器支持这个特征并开启了JavaScrpt脚本功能.

HTML5 本地存储Web Storage简单了解

?HTML5本地存储规范,定义了两个重要的API :Web Storage  和  本地数据库Web SQL Database. 本地存储Web Storage 实际上是HTML4的cookie存储机制的一个改进版本,然而两种机制的功能又不相同.web storage 的作用是在网站中把有用的信息存储到本地的计算机 或移动设备上,然后根据实际需要从本地读取信息. web storage 提供了两种存储类型API接口:sessionStorage 和 localStorage .sessionSt

HTML5本地存储 Web Storage

Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数据的保存时长及数据的共享方式. localStorage 一直存储在本地,数据存储是永久的,除非用户或程序对其进行删除操作: sessionStorage在会话期内有效,数据在浏览器关闭后自动删除: localStorage是基于域的,任何在该域内的页面都可以访问, sessionStorage在保

【HTML5与CSS3基础】HTML5本地存储 Web Storage

概述 本地存储Web Storage实际上是HTML4的Cookies存储机制的一个改进版本.它的作用是在网站中把有用的信息存储到本地的计算机或移动设备上,然后根据需要从本地读取信息. Web Storage 有两种存储类型的API: sessionStorage localStorage 两者之间的差别在于生命周期:前者在会话期间有效:后者永久存储在本地,除非用户或程序对其执行删除操作. 浏览器支持情况:IE8.0以上,Chrome3.0以上. API介绍 浏览器支持情况检测 <!DOCTYP

H5新增的Web Storage本地存储

html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁. 因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储. 而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的. 一.web storage和cookie的区别Web Sto

H5本地储存Web Storage

一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了Cookie只能存储一些ID之类的标识符等简单的数据. 下面是Cookie的限制: 大多数浏览器支持最大为 4096 字节的 Cookie.    浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量.大多数浏览器只允许每个站点存储 20 个Cookie:如果试图存储更多 Cookie,则最

THML5本地存储 Web Storage

Web Storage 介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数据的保存时长及数据的共享方式. ? localStorage 一直存储在本地,数据存储是永久的,除非用户或程序对其进行删除操作: ? sessionStorage在会话期内有效,数据在浏览器关闭后自动删除: localStorage是基于域的,任何在该域内的页面都可以访问, sessionStorag

HTML5 Web存储(Web Storage)(2)

Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB.Web Storage又分为两种: sessionStorage     localStorage 从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了:而localStorage则一直将