zoukankan      html  css  js  c++  java
  • 本地存储

    一、初识本地存储
    sessionStorage和localStorage保存的数据,都以“键值对”的形式存在,以文本格式保存。
    二、本地存储的优劣
    1、优点
    A、存储大小
    每个域名的存储上限视浏览器而定,Chrome是2.5MB,Firefox和Opera是5MB,IE是10MB。
    B、不增加流量
    sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
    C、有效期
    localStorage,永不过期,除非自动删除;
    sessionStorage,关闭浏览器,重新打开页面,就会失效。
    D、作用域
    sessionStorage在不同浏览器窗口中无法共享,即使是同一个页面;
    localStorage在所有同源窗口中都是共享的。
    E、对开发者友好
    对开发者比较友好,有现成的方法可以使用。
    2、缺点
    A、兼容性
    sessionStorage和localStorage不支持低版本IE浏览器。
    B、安全性
    目前localStorage没有对XSS攻击有任何抵御机制,一旦出现XSS漏洞,那么存储在localStorage里的数据就极易被获取到。
    三、本地存储的方法

    1、是否支持本地存储

    function checkStorageSupport() {
      // sessionStorage
      if (window.sessionStorage) {
        return true;
      } else {
        return false;
      }
       
      // localStorage
      if (window.localStorage) {
        return true;
      } else {
        return false;
      }
    }

    2、设置本地存储

    sessionStorage.setItem("key","value");
    localStorage.setItem("key","value");

    3、获取本地存储

    var valueSession = sessionStorage.getItem("key");
    var valueLocal = localStorage.getItem("key");

    4、删除本地存储

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

    5、清空本地存储

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

    6、遍历存储的数据

    for(var i = 0; i < localStorage.length; i++){
      console.log(localStorage.key(i));
    }

    7、监听存储数据

    window.addEventListener("storage",onStorageChange);
    function onStorageChange(e) {
      console.log(e.key);    
    }

    四、用localStorage存储对象

    //
    let stuObj = {
        name: stu.name,
        sex: stu.sex,
        id: stu.id
    }
    window.localStorage.setItem('stuParams', JSON.stringify(stuObj));
    
    //
    JSON.parse(window.localStorage.getItem('stuParams'));
  • 相关阅读:
    hdu3001 Travelling
    android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
    数组指针与指针数组 函数指针与指针函数
    CF:322D
    QRadioButton类中Toggled()信号的使用方法
    Android---App Widget(四)
    github 坑爹的仓库初始化设置
    Failed to load session “ubuntu” -- 12.04
    Linux下的图形界面——X Window的安装
    用户管理操作示例
  • 原文地址:https://www.cnblogs.com/camille666/p/html5_store.html
Copyright © 2011-2022 走看看