zoukankan      html  css  js  c++  java
  • cookie、sessionStoreage、localStorage

    cookie、sessionStoreage、localStorage

      作用与特性 存储数量及大小 api
    cookie

    ● 存储用户信息,获取数据需要与服务器建立连接。

    ● 可存储的数据有限,且依赖于服务器,无需请求服务器的数据尽量不要存放在cookie中,以免影响页面性能。

    ● 可设置过期时间。

    ● 最好将cookie控制在4095B以内,超出的数据会被忽略。

    ● IE6或更低版本最多存20个cookie; IE7及以上版本最多可以有50个;Firefox最多50个;chrome和Safari没有做硬性限制。


    //设置cookie,改cookie也用同一个,覆盖原值
    function setCookie(cookieName, cookieValue) {
    var expires = "1"; //过期时间,此处设置有效期为1天
    var exp = new Date();
    exp.setTime(exp.getTime() + expires * 24 * 60 * 60 * 1000); //设置失效时间(不设置的话,浏览器关闭后此cookie将丢失)
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + exp.toGMTString() + ";path=" + "/";
    }

    //读取cookie
    function getCookie(cookieName){
    var arr,reg=new RegExp("(^| )"+cookieName+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
    return unescape(arr[2]);
    else
    return null;
    }


    //删除cookie
    function delCookie(cookieName ){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(cookieName );
    if(cval!=null)
    document.cookie= cookieName + "="+cval+";expires="+exp.toGMTString()+";path="+"/";

    sessionStorage

    ● 存储客户端信息,无需请求服务器。

    ● 数据保存在当前会话,刷新页面数据不会被清除,结束会话(关闭浏览器、关闭页面、跳转页面)数据失效。

    5M左右,各浏览器的存储空间有差异。

    // 保存数据到 sessionStorage

    sessionStorage.setItem('key', 'value');

    // 从 sessionStorage 获取数据

    let data = sessionStorage.getItem('key');

    // 从 sessionStorage 删除保存的数据

    sessionStorage.removeItem('key');

    // 从 sessionStorage 删除所有保存的数据

    sessionStorage.clear();

    localStorage

    ● 存储客户端信息,无需请求服务器。

    ● 数据永久保存,除非用户手动清理客户端缓存。

    ● 开发者可自行封装一个方法,设置失效时间。

    同sessionStorage

    // 保存数据到 localStorage

    localStorage.setItem('key', 'value');

    // 从 localStorage 获取数据

    let data = localStorage.getItem('key');

    // 从 localStorage 删除保存的数据

    localStorage.removeItem('key');

    // 从 localStorage 删除所有保存的数据

    localStorage.clear();

     

  • 相关阅读:
    Loading CSS without blocking render
    总结Web应用中基于浏览器的安全漏洞
    React Native通信机制详解
    HTML Imports
    编程语言和它们的创造者
    USB Transfer and Packet Sizes
    灰色心情
    c++ 深入理解虚函数
    在VS2012中采用C++中调用DLL中的函数(4)
    在C++中调用DLL中的函数(3)
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/14650420.html
Copyright © 2011-2022 走看看