• JavaScript的cookie和sessionStorage 、localStorage


    localStorage、sessionStorage和cookie的区别与用法请见下面的博客:

    https://segmentfault.com/a/1190000012057010

    cookie的操作函数:(来自w3school网站)//cookie :存储//设置cookie

    function setCookie(key, value, expiredays){//cookie的键、值以及存储的天数
    
        var date = new Date();
        date.setDate(date.getDate() + expiredays);//获取现在的时间并添加用户设置的存储天数
    
        document.cookie = key + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + date.toGMTString());//加密存储cookie
    }
    
    //获取cookie值
    function getCookie(key){
        if (document.cookie.length > 0){
    
            start = document.cookie.indexOf(key + "=");//查找cookie是否存有键值为key的cookie
    
            if (start != -1){
    
                start = start + key.length + 1;//或去value值得第一个字符的下标
                end=document.cookie.indexOf(";",start);
    
                if (end == -1){
                    end = document.cookie.length;
                }
                return unescape(document.cookie.substring(start, end));//返回解码后的value值
            }
         }
        return "";
    }
    
    //删除cookie
    function removeCookie(key) {
        setCookie(key, '', -1);
    }
    //删除所有cookie
    function clearAllCookie() { var keys = document.cookie.match(/[^ =;]+(?==)/g); if(keys) { for(var i = keys.length; i>0; i--) { document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString(); } } }
    //
    [^ =;]+:负值字符范围表示匹配一个及以上字符但非“ ”或“=”或“;”开始的字符串
    //(?==):正向肯定查询;当满足前面的匹配后;匹配后面跟着一个“=”的字符串(但不配后面的“=”以及后面的字符)
    //详情请见:http://www.runoob.com/regexp/regexp-metachar.html
    
    

    sessionStorage和localStorage的操作:

    // 保存数据到sessionStorage
    sessionStorage.setItem('key', 'value');
     
    // 从sessionStorage获取数据
    var data = sessionStorage.getItem('key');
     
    // 从sessionStorage删除保存的数据
    sessionStorage.removeItem('key');
     
    // 从sessionStorage删除所有保存的数据
    sessionStorage.clear();

    localStorage.setItem("key","value");//以“key”为名称存储一个值“value”
    
    localStorage.getItem("key");//获取名称为“key”的值
    
    localStorage.removeItem("key");//删除名称为“key”的信息。
    
    localStorage.clear();​//清空localStorage中所有信息

     注意:

      localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

      sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。源生接口可以接受,亦可再次封装来对Object和Array有更好的支持。

      不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/lianchenxi/p/9184810.html
Copyright © 2020-2023  润新知