Home > Article > Web Front-end > How to update cookies in JavaScript? (code example)
Actually, updating a cookie is slightly different than replacing a cookie, because the new value we want to put in the cookie depends somewhat on whether the cookie already exists, and if so, what it contains. This means we need to read the existing cookie before we can write a replacement for it.
One thing to note is that when we read the cookie, we have no way of knowing when the existing cookie expires, or whether the cookie is restricted to a specific folder or in Available throughout the domain. You need to set a new retention period when changing cookies, and you need to track the scope of the cookie within the page so that the same domain or path options apply each time. When you update rather than replace a cookie, the only thing you can actually read is the actual value of the data stored in the cookie.
In this example, we will use a cookie called "accesscount" to count the number of times a visitor visits a page, where each visit is no more than 7 days apart. If the interval between two visits exceeds 7 days, the cookie will expire and the next visit will restart from 0. We used the allCookies() and writeCookie() functions from the previous example, so in order to actually perform the update, we only need the last two lines of code.
Code examples are as follows:
var cookie; allCookies = function() { var cr, ck, cv; cr = []; if (document.cookie != '') { ck = document.cookie.split('; '); for (var i=ck.length - 1; i>= 0; i--) { cv = ck.split('='); cr[ck[0]]=ck[1]; } } return cr; }; writeCookie = function(cname, cvalue, days,opt) { var dt, expires, option; if (days) { dt = new Date(); dt.setTime(dt.getTime()+(days*24*60*60*1000)); expires = "; expires="+dt.toGMTString(); } else expires = ''; if (opt) { if ('/' = substr(opt,0,1)) option = "; path="+opt; else option = "; domain="+opt; } else option = ''; document.cookie = cname+"="+cvalue+expires+option; } cookie = allCookies(); if (cookie.accesscount != null) writeCookie('mycookie', cookie.accesscount + 1,7); else writeCookie('mycookie', 1,7);
Related recommendations: "javascript tutorial"
This article is about updating cookies in JavaScript. Hope it helps those in need!
The above is the detailed content of How to update cookies in JavaScript? (code example). For more information, please follow other related articles on the PHP Chinese website!