Session Only Cookie Javascript

时间:2017-04-05 14:00:45

标签: javascript session-cookies

这个Javascript cookie脚本到目前为止工作得很好,你只需要调整你希望cookie在(expiresDays * 24)行中过期的时间。但是,我希望cookie在浏览器完全关闭时过期,但是当你还在网站上时cookie仍然存在,即使你去另一个网页或重新加载主页。我读到这是可行的,可以通过会话cookie完成,通过将值设置为0或没有值,但作为javascript的学习者,我不知道如何做,做任何更有经验的程序员知道如何调整脚本下面做我想做的事情?

<script type="text/javascript">
function setCookie(cookieName, cookieValue, expireDays,isGlobal) {
        var expireDate = new Date();
        expireDate.setTime(expireDate.getTime() + 
(expireDays*24*60*60*1000));
        var expires = "expires="+expireDate.toUTCString();
         if(isGlobal){
            document.cookie = cookieName + "=" + cookieValue + "; " + 
expires+"; path=/";
        }else{
            document.cookie = cookieName + "=" + cookieValue + "; " + 
expires;
        }
    }

    function getCookie(cookieName) {
       var name = cookieName + "=";
       var ca = document.cookie.split(';');
       for(var i=0; i<ca.length; i++) {
         var c = ca[i];
         while (c.charAt(0)==' ') c = c.substring(1);
           if (c.indexOf(name) == 0) return c.substring(name.length, 
 c.length);
        }
      return "";
 }

function checkCookie(cookieName) {

    if (getCookie(cookieName) != "") {
        return true;
    } else {
        return false;
    }
}
</script>

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,所需要的只是替换此行中的值:

from(expireDays * 24 * 60 * 60 * 1000))

并改为:

(expireDays “= 0”))

否则我保持不变的格式,cookie会持续访问网站,包括浏览网站。但是如果你完全关闭浏览器,cookie就会过期。