通过Javascript更改cookie而不更改过期日期

时间:2014-05-26 08:10:46

标签: javascript cookies

我想设置现有cookie的值而不更改到期日期。例如:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

document.cookie="username=David Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

仅使用JavaScript非常重要。

感谢。

1 个答案:

答案 0 :(得分:2)

我知道实现此类任务的最佳方式是将原始过期日期保存为Cookie数据的一部分,然后在每次设置现有Cookie时重复使用它。

function setCookie(cookieName, cookieValue){
    var expireDate = document.cookie.indexOf(cookieName) === -1
            ? new Date(new Date().setTime(new Date().getTime()+30*24*60*60*1000)) // 30 days
            : unescape(document.cookie).split('expireDate=')[1]; // split out date to reuse
    document.cookie = cookieName + '=' + cookieValue + ',expireDate=' + expireDate + ';expires=' + expireDate;
} 

here获取并重构。

相关问题