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

Javascript 通过JavasScript更改cookie而不更改过期日期,javascript,cookies,Javascript,Cookies,我想设置现有cookie的值,而不更改过期日期。例如: document.cookie=“username=John Doe;expires=Thu,2013年12月18日12:00:00 GMT;path=/” 到 document.cookie=“username=David Doe;expires=Thu,2013年12月18日12:00:00 GMT;path=/” 只使用JavaScript很重要 谢谢。据我所知,实现此任务的最佳方法是将原始过期日期保存为cookie数据的一部分,然后

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

document.cookie=“username=John Doe;expires=Thu,2013年12月18日12:00:00 GMT;path=/”

document.cookie=“username=David Doe;expires=Thu,2013年12月18日12:00:00 GMT;path=/”

只使用JavaScript很重要


谢谢。

据我所知,实现此任务的最佳方法是将原始过期日期保存为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;
} 

从中获取和重构。

cookie存储为键值对,据我所知,您无法读取cookie的过期日期,并在覆盖cookie时重新使用它进行设置。我使用您的方法,但在过期日期中显示“会话”。好的,这是因为我使用我的方法创建了cookie,然后用metohd设置值。cookie似乎变得疯狂了。该方法没有使用任何异常的东西,因此它应该在所有主要浏览器上正常工作,包括非常旧的浏览器(例如IE6)。该答案不完整,它错过了getCookieValue函数调用,读取cookie值而不过期date@Toskanop并没有要求全面实施cookies管理,而是要求提供一种设置cookies的方法。如果你觉得缺少这个答案,请随意添加你自己的答案,答案越多越好