zoukankan      html  css  js  c++  java
  • HTML5 本地存储(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 有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
  • 相关阅读:
    Python学习-day10
    python学习-day9
    Python学习-day8
    Python学习-day7
    Python学习-day6
    Django2
    Django讲解
    JQuery讲解
    前端Day2
    前端Day1
  • 原文地址:https://www.cnblogs.com/bean-sprout/p/5913634.html
Copyright © 2011-2022 走看看