zoukankan      html  css  js  c++  java
  • web 本地存储 (localStorage、sessionStorage)

    web 本地存储 (localStorage、sessionStorage)

    说明

    对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage

    1. sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载

    2. localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在

    API

    sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON

    1. 保存数据到本地

        const info = {
            name: 'Lee',
            age: 20,
            id: '001'
        };
        sessionStorage.setItem('key', JSON.stringify(info));
        localStorage.setItem('key', JSON.stringify(info));

    2. 从本地存储获取数据

        var data1 = JSON.parse(sessionStorage.getItem('key'));
        var data2 = JSON.parse(localStorage.getItem('key'));

    3. 本地存储中删除某个保存的数据

        sessionStorage.removeItem('key');
        localStorage.removeItem('key');

    4. 删除所有保存的数据

        sessionStorage.clear();
        localStorage.clear();

    5. 监听本地存储的变化

    Storage 发生变化(增加、更新、删除)时的 触发,同一个页面发生的改变不会触发,只会监听同一域名下其他页面改变 Storage

        window.addEventListener('storage', function (e) {
            console.log('key', e.key);
            console.log('oldValue', e.oldValue);
            console.log('newValue', e.newValue);
            console.log('url', e.url);
        })
    sessionStorage无法监听变更(chrome浏览器测试)

    浏览器查看方法

    进入开发者工具

    选择 Application

    在左侧 Storage 下 查看 Local Storage 和 Session Storage

    Application

    注意Local Storage 和 Session Storage只能存储字符串,比如存储了一个boolean型,值为true,取出来会是字符串"true"

  • 相关阅读:
    auth
    django缓存机制
    图片防盗链
    用户相关
    验证码
    单个容器部署django (docker + django + uwsgi)
    MySQL性能调优的10个方法
    数据库-外键
    数据库(存储引擎、字段类型、约束条件)
    数据库
  • 原文地址:https://www.cnblogs.com/cowboybusy/p/9040641.html
Copyright © 2011-2022 走看看