如何在会话自行失效时删除javascript cookie?

时间:2013-07-02 14:54:05

标签: javascript session-cookies

我已经在我的代码中声明了一个cookie,它是在特定函数成功后创建的。我根据方法的成功或失败来操纵cookie。下面是我用来创建cookie的代码,

setCounterOfSuccess : function (c_name,value,days){
                var expires='';
                if (days){
                    var date=new Date();
                    date.setTime( date.getTime() + (days*24*60*60*1000) );
                    expires='; expires=' + date.toGMTString();
                }
                document.cookie= c_name + '=' + value + expires + '; path=/';
            },
getCounterOfSuccess : function(c_name){
                var nameEQ = c_name + '=';
                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,c.length);
                    if (c.indexOf(nameEQ)===0) 
                        return c.substring(nameEQ.length,c.length);
            }
                return null;
            },

deleteCounterOfSuccess : function (name){
                        this.setCounterOfSuccess (name,'',-1);
            },

我希望这些是会话cookie。因此,在设置值时,我将其设置如下,我传递''作为最后一个参数将它们设置为会话cookie。

我认为当浏览器关闭时它们会过期。

this.setCounterOfSuccess ("counterOfSuccess", Counter, '');

当我从网站点击退出按钮时,我也在删除cookie。它看起来像下面,

logout: function()
{
this.deleteCounterOfSuccess ("counterOfSuccess");
}

所以我正在处理两种方式来删除我的cookie。现在的问题是,当我离开我的网站一段时间后,它会按预期在一段时间后自动注销。这意味着会话自行终止或无效。现在在这种情况下,如果浏览器没有关闭,如果我再次登录,cookie仍然存在。而且我不希望这种情况发生。我想在每个会话中创建新的cookie,以便我可以跟踪会话相关的活动。

任何人都可以建议我如何实现这一目标?如果会话长时间独立后会自行终止,我该如何删除此cookie?

非常感谢。

0 个答案:

没有答案