首頁  >  文章  >  web前端  >  如何更新JavaScript中的cookie? (程式碼範例)

如何更新JavaScript中的cookie? (程式碼範例)

藏色散人
藏色散人原創
2019-03-25 11:36:283127瀏覽

實際上,更新cookie與替換cookie略有不同,因為我們想在cookie中放入的新值在某種程度上取決於cookie是否已經存在,如果存在,則取決於它包含什麼。這意味著我們需要先讀取現有的cookie,然後才能為其編寫替換。

如何更新JavaScript中的cookie? (程式碼範例)

需要注意的一點是,當我們讀取cookie時,我們無法知道現有cookie何時到期,或者cookie是限制在特定資料夾中還是在整個域中可用。你需要在更換cookie時設定新的保留期,並且需要追蹤cookie在頁面中的範圍,以便每次都套用相同的網域或路徑選項。當你在更新而不是替換cookie時,實際上能夠讀取的唯一內容是儲存在cookie中的資料的實際值。

在本例中,我們將使用名為「accesscount」的cookie來計算訪客造訪頁面的次數,其中每次造訪間隔不超過7天。如果兩次訪問間隔超過7天,那麼cookie將過期,下一次訪問將從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教學

本篇文章就是關於更新JavaScript中的cookie的方法介紹,希望對需要的朋友有幫助!

以上是如何更新JavaScript中的cookie? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn