介绍
小编给大家分享一下更新JavaScript中cookie的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
实际上,更新饼干与替换饼干略有不同,因为我们想在cookie中放入的新值在某种程度上取决于饼干是否已经存在,如果存在,则取决于它包含什么。这意味着我们需要先读取现有的cookie,然后才能为其编写替换。
需要注意的一点是,当我们读取饼干时,我们无法知道现有饼干何时到期,或者饼干是限制在特定文件夹中还是在整个域中可用。你需要在更换饼干时设置新的保留期,并且需要跟踪饼干在页面中的范围,以便每次都应用相同的域或路径选项。你在更新而不是替换饼干时,实际上能够读取的唯一内容是存储在cookie中的数据的实际值。
在本例中,我们将使用一个名为“accesscount”的饼干来计算访问者访问页面的次数,其中每次访问间隔不超过7天。如果两次访问间隔超过7天,那么cookie将过期,下一次访问将从0开始重新计数。我们使用了前面示例中的allCookies()和writeCookie()函数,因此为了实际执行更新,我们只需要最后两行代码。
代码示例如下:
var饼干; allCookies=function () { var cr, ck、简历; cr=[];如果文档。饼干!=& # 39;& # 39;){ ck=document.cookie.split (& # 39;;& # 39;); 我(var=ck。长度- 1;i>=0;我(){ 简历=ck.split (& # 39;=& # 39;); cr (ck [0])=ck [1]; } } 返回cr; }; writeCookie=function (cvalue cname,天,选择){ var/dt,到期,选择; 如果(天){ dt=新的日期(); dt.setTime (dt.getTime() +(天* 24 * 60 * 60 * 1000));=暗狡?到期=? dt.toGMTString (); }其他到期=& # 39;& # 39;; 如果(选择){ 如果(& # 39;/& # 39;=substr(选择0 1)选项=?;路径=?选择; 其他选项=?域=?选择; }其他选项=& # 39;& # 39;; 文档。饼干=cname +“=? cvalue + +期权到期; } 饼干=allCookies (); 如果(饼干。accesscount !=null) writeCookie (& # 39; mycookie& # 39;,饼干。accesscount + 1、7); 别的writeCookie (& # 39; mycookie& # 39;, 1、7);
以上是更新JavaScript中cookie的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!