실제로 쿠키를 업데이트하는 것은 쿠키를 교체하는 것과 약간 다릅니다. 왜냐하면 쿠키에 추가하려는 새 값은 쿠키가 이미 존재하는지 여부와 존재한다면 쿠키에 포함된 내용에 따라 어느 정도 달라지기 때문입니다. 이는 대체 쿠키를 작성하기 전에 기존 쿠키를 읽어야 함을 의미합니다.
주의할 점은 쿠키를 읽을 때 기존 쿠키가 언제 만료되는지, 쿠키가 제한되는지 알 수 없다는 것입니다. 특정 폴더에 저장되거나 도메인 전체에서 사용 가능합니다. 쿠키 변경 시 새로운 보존 기간을 설정해야 하며, 매번 동일한 도메인 또는 경로 옵션이 적용되도록 페이지 내 쿠키의 범위를 추적해야 합니다. 쿠키를 교체하지 않고 업데이트하는 경우 실제로 읽을 수 있는 유일한 것은 쿠키에 저장된 데이터의 실제 값입니다.
이 예에서는 "accesscount"라는 쿠키를 사용하여 방문자가 페이지를 방문한 횟수를 계산합니다. 각 방문 간격은 7일을 넘지 않습니다. 두 번의 방문 간격이 7일을 초과하면 쿠키가 만료되고 다음 방문은 0부터 다시 시작됩니다. 이전 예제에서 allCookies() 및 writeCookie() 함수를 사용했기 때문에 실제로 업데이트를 수행하려면 마지막 두 줄의 코드만 필요합니다.
코드 샘플은 다음과 같습니다:
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);
관련 권장 사항: "javascript tutorial"
이 문서는 다음과 같습니다. 업데이트 정보 JavaScript의 쿠키 방법에 대한 소개입니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다!
위 내용은 JavaScript에서 쿠키를 업데이트하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!