HTML5 Web存储

作者: 微语博客 | 来源:发表于2021-06-17 22:54 被阅读0次

    简介

    说到网页数据存储,大家第一印象想到的应该还是cookie,cookie也确实是使用最多的网页数据存储方式。HTML5 Web存储是一个比cookie更好用的本地存储,它也可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

    客户端存储数据的两个对象:

    • localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
    • sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

    测试浏览器是否支持Web存储

    if(typeof(Storage)!="undefined"){
        console.log("浏览器支持Web存储");
    }
    

    localStorage对象

    localStorage 对象存储的数据没有时间限制,数据永久可以使用,除非标准更改。

    localStorage对象常用函数

    • 保存数据:localStorage.setItem(key,value);
    • 读取数据:localStorage.getItem(key);
    • 删除单个数据:localStorage.removeItem(key);
    • 删除所有数据:localStorage.clear();
    • 得到某个索引的key:localStorage.key(index);
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>  
      <script>
        if(typeof(Storage)!="undefined"){
          localStorage.myName = "WebStoreage;"//存储和更新数据
          console.log(localStorage.myName);
        }else{
          console.log("浏览器不支持Web存储");
        }
      </script>
      
    </body>
    </html>
    

    键/值对通常以字符串存储,你可以按自己的需要转换该格式。

    sessionStorage对象

    localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

    • sessionStorage.setItem("key", "value"); 保存键值对数据。
    • sessionStorage.getItem("key"); 通过键读取值。
    • sessionStorage.removeItem("key"); 删除指定的键值。
    • sessionStorage.clear(); 删除所有数据。
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <button onclick="add()">sessionStorage++</button>
      <script>
        sessionStorage.count = 0;//sessionStorage赋值
        function add(){
          console.log(sessionStorage.count++);//更新sessionStorage
        }
      </script>
      
    </body>
    </html>
    

    Chrome 浏览器,_blank 方式新开窗口,sessionStorage 存储的数据会丢失。

    相关文章

      网友评论

        本文标题:HTML5 Web存储

        本文链接:https://www.haomeiwen.com/subject/twuhyltx.html