设置cookie之后刷新页面cookie消失

新手上路,请多包涵

设置了cookie之后,在浏览器查看cookie存在,且有限期为一个月,但是刷新网页之后cookie就消失了

// 给element绑定一个针对event事件的响应,响应函数为listener
   function addFuc(ele, event, listener) {
       if (ele.addEventListener) {
           ele.addEventListener(event, listener, false);
       } else if (ele.attachEvent) {
           ele.attachEvent("on" + event, listener);
       } else {
           ele["on" + event] = listener;
       }
   }

   function setCookie(name, value, expiredays) {
       var exp = new Date();
       exp.setTime(exp.getTime() + expiredays * 24 * 60 * 60 * 1000);
       document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
       var test = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
       console.log(test)
       console.log(document.cookie);
   }

   function getCookie() {
       //alert(4444);
       var cookie = {};
       var all = document.cookie;
       console.log(all)
       if (all === '') return cookie;
       var list = all.split('; ');
       for (var i = 0, len = list.length; i < len; i++) {
           var item = list[i];
           var p = item.indexOf('=');
           var name = item.substring(0, p);
           name = decodeURIComponent(name);
           var value = item.substring(p + 1);
           value = decodeURIComponent(value);
           cookie[name] = value;
       }
       console.log(cookie);
       return cookie;
   }

   // addLoadEvent函数
   function addLoadEvent(func) {
       var oldonload = window.onload;
       if (typeof window.onload != 'function') {
           window.onload = func;
       } else {
           window.onload = function() {
               oldonload();
               func();
           }
       }
   }

   function closeTip() {
       //alert(111);
       var tipClose = document.getElementById("close-tip");
       addFuc(tipClose, "click", function() {
           //alert(222)
           hideTip();
           setCookie("tipCookie", "tipCookieValue", 30);
       });
   }
addLoadEvent(closeTip);



   //addLoadEvent(closeTip);
   //加载页面前检查cookie
   function checkCookie() {
       //如果通知条tipCookie已设置,则不再显示通知条
       if (getCookie().tipCookie) {
           console.log(getCookie().tipCookie);
           hideTip();
       }
   }
   addFuc(window, "unbeforeunload", checkCookie());


   // 隐藏通知条函数
   function hideTip() {
       var tip = document.getElementById("tip-div");
       //console.log(tip);
       tip.style.display = "none";
   }

//html部分
    <div class="g-top">
        <div class="m-topnav" id="tip-div">
            <div class="container">
                <p>
                     <a href="">立即查看&gt;</a>
                </p>
                <p class="close" id="close-tip">X 不再提醒</p>
            </div>
        </div>
阅读 12.1k
2 个回答

在浏览器开发工具看下,cookie的过期时间是否你设置的,

新手上路,请多包涵

是的,图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题