如何在一定时间后使用javascript删除cookie

时间:2012-10-11 11:24:17

标签: php javascript ajax

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

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

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

4 个答案:

答案 0 :(得分:5)

要删除Cookie,您需要将过期日期设置为过去的某些内容。执行此操作的功能将是:

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

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

delete_cookie('cookie');

答案 1 :(得分:2)

在“密钥”

处传递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 = {};
    }

答案 2 :(得分:1)

像这样使用

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

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

这将在10秒后使cookie过期。

答案 3 :(得分:0)

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

要问的第二个问题是你是如何创建烹饪的?通过Javacript还是PHP?

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