javascript - 设置cookie之后刷新页面cookie消失
迷茫
迷茫 2017-04-11 10:36:54
[JavaScript讨论组]

设置了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-p");
       //console.log(tip);
       tip.style.display = "none";
   }

//html部分
    <p class="g-top">
        <p class="m-topnav" id="tip-p">
            <p class="container">
                <p>
                     <a href="">立即查看&gt;</a>
                </p>
                <p class="close" id="close-tip">X 不再提醒</p>
            </p>
        </p>
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
迷茫

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号