我使用jQuery cookie插件设置了一个cookie。我已经将cookie的过期时间设置为一小时,因此在此之后cookie将被删除。我想通过从cookie本身检索此信息来显示cookie到达用户之前剩余的剩余时间。这可能使用jQuery cookies插件吗?如果不是,有一种雄辩的方法来实现这一目标吗?
我以这种方式设置过期时间:
jQuery.cookie('Cookie', timedCookie, { expires: new Date(+new Date() + (60 * 60 * 1000)) });
答案 0 :(得分:1)
使用JavaScript无法获得Cookie的过期。执行此操作的唯一方法是以某种方式存储过期日期,例如在javascript变量或其他cookie或本地存储中。
以下是一个例子:
var MINUTES = 1000 * 60;
var expireTime = new Date(+new Date + (60 * MINUTES)); // store the expiration time
jQuery.cookie('Cookie', timedCookie, { expires: expireTime });
var updateMessage = function(msg){
document.getElementById('time-left').innerHTML = msg;
};
var i = setInterval(function(){ // calculate time difference every ~1 min
var timeLeft = expireTime - new Date;
if(timeLeft <= 0){
updateMessage('Your session has expired.');
clearInterval(i);
} else {
updateMessage('You have ' + (timeLeft / MINUTES | 0) + ' minute(s) left in your cookied session.');
}
}, MINUTES);