• 技术文章 >web前端 >js教程

    如何更新JavaScript中的cookie?(代码示例)

    藏色散人藏色散人2019-03-25 11:36:28原创1365
    实际上,更新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教程

    本篇文章就是关于更新JavaScript中的cookie的方法介绍,希望对需要的朋友有所帮助!

    以上就是如何更新JavaScript中的cookie?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:JavaScript cookie
    上一篇:何时使用AJAX异步或同步? 下一篇:indexedDB存储的代码示例
    大前端线上培训班

    相关文章推荐

    • 如何在Javascript中创建自定义事件?(代码示例)• JavaScript中的var和let的区别(代码示例)• javascript中对象的介绍(附代码)• JavaScript实现递归算法的方法介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网