您好,登錄后才能下訂單哦!
小編給大家分享一下更新JavaScript中cookie的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
實際上,更新cookie與替換cookie略有不同,因為我們想在cookie中放入的新值在某種程度上取決于cookie是否已經存在,如果存在,則取決于它包含什么。這意味著我們需要先讀取現有的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中cookie的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。