欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js cookie设置cookie, 删除cookie, 获取cookie,清空cookie

程序员文章站 2024-03-20 14:07:58
...

cookie是什么?

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

如果你比较懒, 你可以直接使用LsyCookie.js插件

下载: 点击下载LsyCookie.js


其实cookie还是比较简单的,如果把下面的5个方法弄明白,您的cookie已经学会了一大半

设置cookie

//key为cookie的名称, val为cookie的值, time为过期时间(单位为秒)
function setCookie(key, val, time) {
    if (typeof key !== 'string' || typeof val !== 'string' ) {
        return false;
    }
    time = time || 7 * 24 * 3600;
    var exp = new Date();
    exp.setTime(exp.getTime() + time * 1000);
    document.cookie = key + '=' + val + ';expires=' + exp.toGMTString();
}

获取cookie

    //获取所有的cookies
    function getAllCookies() {
        var cookies = document.cookie.split(/;\s/g);
        var cookieObj = {};
        cookies.forEach(function (item) {
            var key = item.split('=')[0];
            cookieObj[key] = item.split('=')[1];
        });
        return cookieObj;
    }
    //通过key来获取cookie,本方法依赖于getAllCookies()
    function getCookieByKey(key) {
        return getAllCookies()[key];
    }

删除cookie

    //通过key来删除cookie
    function clearCookieByKey(key) {
        setCookie(key, "", -1);
    }
    //清空所有的cookies, 本方法依赖于getAllCookies(),clearCookieByKey(key)
    function clearAllCookies() {
        var keys = Object.keys(getAllCookies());
        keys.forEach(function (item) {
            clearCookieByKey(item);
        });
    }

注意:

cookie的存储长度是有限的,大概在4095个字节,所以不要把所有的信息都用cookie来存储;如果需要存储大量的信息,建议使用localStorage

欢迎点赞,谢谢关注 :)