>  기사  >  웹 프론트엔드  >  JavaScript에서 쿠키를 업데이트하는 방법은 무엇입니까? (코드 예)

JavaScript에서 쿠키를 업데이트하는 방법은 무엇입니까? (코드 예)

藏色散人
藏色散人원래의
2019-03-25 11:36:283174검색

실제로 쿠키를 업데이트하는 것은 쿠키를 교체하는 것과 약간 다릅니다. 왜냐하면 쿠키에 추가하려는 새 값은 쿠키가 이미 존재하는지 여부와 존재한다면 쿠키에 포함된 내용에 따라 어느 정도 달라지기 때문입니다. 이는 대체 쿠키를 작성하기 전에 기존 쿠키를 읽어야 함을 의미합니다.

JavaScript에서 쿠키를 업데이트하는 방법은 무엇입니까? (코드 예)

주의할 점은 쿠키를 읽을 때 기존 쿠키가 언제 만료되는지, 쿠키가 제한되는지 알 수 없다는 것입니다. 특정 폴더에 저장되거나 도메인 전체에서 사용 가능합니다. 쿠키 변경 시 새로운 보존 기간을 설정해야 하며, 매번 동일한 도메인 또는 경로 옵션이 적용되도록 페이지 내 쿠키의 범위를 추적해야 합니다. 쿠키를 교체하지 않고 업데이트하는 경우 실제로 읽을 수 있는 유일한 것은 쿠키에 저장된 데이터의 실제 값입니다.

이 예에서는 "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.