• 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的。

  • 相关阅读:
    Cannot change network to bridged: There are no un-bridged host network adapters解决方法
    The authenticity of host 192.168.0.xxx can't be established.
    Vm下 linux与windowsxp文件共享的方法
    vmware 下的linux的host only上网配置
    VMWare三种工作模式 :bridge、host-only、nat
    云技术入门指导:什么是云计算技术,云技术用什么语言开发
    什么是移动云计算
    云计算是什么
    架构之路
    这首诗看着是越看越顺眼,百赋乐其中
  • 原文地址:https://www.cnblogs.com/lianchenxi/p/9184810.html
Copyright © 2020-2023  润新知