我正在尝试删除一段时间后创建的值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>
答案 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创建。