4

我正在尝试删除在某个时间间隔后创建的值 cookie。让我们说 10 秒后我想要 cookie 消失

function fullday()
{
    document.getElementById("res").innerHTML="1 day";
    document.cookie="day="+1;
    document.cookie.setMaxAge(0);
}

这是上面的代码。我现在正在用 PHP 编码,然后当我尝试从 PHP 中销毁 cookie 时它工作正常,但是我需要在 javascript 中传递 cookie 的值,所以现在我坚持使用它并且无法销毁它。

4

4 回答 4

5

为了删除 cookie,您需要将过期日期设置为过去的某个时间。例如,执行此操作的函数是:

var delete_cookie = function(name) {
    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};

然后删除一个名为“cookie”的cookie就行了。

delete_cookie('cookie');
于 2012-10-11T11:29:23.337 回答
2

在“key”处传递 cookie 名称

 _generatePrefix: function()
    {
        return '__session:' + this._id + ':';
    }
  _cookieCache: undefined,
function cookie clear(key)
  {    
    document.cookie = this._generatePrefix() + key + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    delete this._cookieCache[key]
  }

当您需要清除特定 cookie 时调用此函数

如果你想清除所有 cookie 使用这个

   _generatePrefix: function()
    {
        return '__session:' + this._id + ':';
    }
     _cookieCache: undefined, 
     function clearall()
    {
        for (var i in this._cookieCache) {
            document.cookie = this._generatePrefix() + i + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }
        this._cookieCache = {};
    }
于 2012-10-11T11:33:05.907 回答
1

像这样使用它

var date1 = new Date();
date1.setTime(date.getTime()+(10*1000));
var expires = "; expires="+date.toGMTString();

document.cookie = "day="+1+expires;

这将在 10 秒后使 cookie 过期。

于 2012-10-11T11:31:05.450 回答
0

要问的第一个问题是为什么您在创建 cookie 时不只是 cookie 到期时间?

要问的第二个问题是您是如何创建 cookie 的?通过 Javacript 还是 PHP?

除了 javascript 中的 cookie 值之外,您无法检索任何其他内容 - 因此,如果您想知道 cookie 的年龄,那么您需要将该信息嵌入到值中 - 但是,如果 cookie 是从 PHP 设置的,并且使用TTL 为 10 秒,您将在时钟同步问题中运行 - 您需要生成 javascript 以从服务器端创建带时间戳的 cookie,而不是直接调用 setcookie。

于 2012-10-11T11:32:38.340 回答