检查到期时间jQuery cookie

时间:2013-12-17 20:13:19

标签: cookies

我使用jQuery cookie插件设置了一个cookie。我已经将cookie的过期时间设置为一小时,因此在此之后cookie将被删除。我想通过从cookie本身检索此信息来显示cookie到达用户之前剩余的剩余时间。这可能使用jQuery cookies插件吗?如果不是,有一种雄辩的方法来实现这一目标吗?

我以这种方式设置过期时间:

jQuery.cookie('Cookie', timedCookie, { expires: new Date(+new Date() + (60 * 60 * 1000)) });

1 个答案:

答案 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);