• cookie读取、写入、删除


    需求:用户访问页面之后出现弹框,点击关闭之后24小时内不会再出现。
    实现:cookie
    首先温习一点cookie的知识,明确以下几点:
    什么是cookie?
    cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。------W3C。

    1、创建:Cookie是可以被Web服务器设置的字符串,并且可以保存在浏览器中。

    2、发送:当浏览器访问了一个页面时候,web服务器设置了一个cookie,并将这个cookie和当前访问的页面一起返回给浏览器,

    3、保存:浏览器接到cookie之后,就会保存起来,

    4、发送:在它访问另外页面的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。
    一、创建cookie

    function setCookie(c_name,value,expiredays)//cookie名字、值、过期时间
    {
         var exdate=new Date();
         exdate.setHours(exdate.getHours()+expiredays);
         document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    
    使用方法:setCookie('myname','leaf',10);  
    

    二、获取cookie--------w3

    function getCookie(c_name)
    {
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=")
      if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1 
        c_end=document.cookie.indexOf(";",c_start)
        if (c_end==-1) c_end=document.cookie.length
        return unescape(document.cookie.substring(c_start,c_end))
        } 
      }
    return ""
    }
    
    //或者
    function getcookie(objname){
        var arrstr = document.cookie.split("; ");
        for(var i = 0, len = arrstr.length; i < len; i ++){
            var temp = arrstr[i].split("=");
            if(temp[0] == objname) return unescape(temp[1]);
            }
    }    

    三、使用

    function checkCookie(c_name,c_value,ex_time)
    {
    c_name=getCookie(c_name)
    if (c_name!=null && c_name!=""){
      /***dosomething***/
    }else{
        setCookie(c_name,c_value,ex_time);//重新设置
    
      }
    }

    四、把读、写、删写成cookieUtil对象

    var CookieUtil = {
    
                    get:function(name){
                        //encodeURLComponent()对URL进行编码
                        var cookieName = encodeURIComponent(name) + "=",
                            cookieStart = document.cookie.indexOf(cookieName),
                            cookieValue = null;
    
                        if(cookieStart >= -1){
                            var cookieEnd = document.cookie.indexOf(";",cookieStart);
                            if(cookieEnd == -1){
                                cookieEnd = document.cookie.length;
                            }
                            cookieValue = decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length, cookieEnd));
                        }
                        return cookieValue;
                    },
    
                    set:function(name, value, expires, path, domain, secure){
                        var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
                        if(expires instanceof Date){
                            cookieText += "; expires=" + expires.toGMTString();
                        }
    
                        if(path){
                            cookieText += "; path=" + path;
                        }
    
                        if(domain){
                            cookieText += "; domain=" + domain;
                        }
    
                        if(secure){
                            cookieText += "; secure";
                        }
    
                        document.cookie = cookieText;
                    },
    
                    unset:function(name, path, domain, secure){
                        this.set(name, "", new Date(0), path, domain, secure);
                    }
    
            };

    五、实现需求

    //显示弹框    
    function showPopUp(){
         /***********/
    }
    //实现函数
    checkCookie('isShowPopUp',true,10);

      

      

      

  • 相关阅读:
    第5天 css笔记-三大布局--浮动float
    第4天css笔记-选择器
    spring-mvc的配置
    小项目第一天
    IDEA引MAVEN项目jar包依赖导入问题解决
    Spring MVC 解读——@RequestMapping (2)(转)
    Spring MVC 解读——@RequestMapping (1)(转)
    Spring MVC 解读——<mvc:annotation-driven/>(转)
    Spring MVC 解读——@Autowired(转)
    Spring MVC 解读——<context:component-scan/>
  • 原文地址:https://www.cnblogs.com/leaf930814/p/6654216.html
Copyright © 2020-2023  润新知