0

我在我的代码中声明了一个 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?

非常感谢。

4

0 回答 0