首页  >  问答  >  正文

JavaScript教程:利用JavaScript创建和读取cookie中的值

<p>如何在JavaScript中创建和读取cookie的值?</p>
P粉752290033P粉752290033425 天前463

全部回复(2)我来回复

  • P粉132730839

    P粉1327308392023-08-22 00:26:42

    简约而功能齐全的ES6方法:

    const setCookie = (name, value, days = 7, path = '/') => {
      const expires = new Date(Date.now() + days * 864e5).toUTCString()
      document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + path
    }
    
    const getCookie = (name) => {
      return document.cookie.split('; ').reduce((r, v) => {
        const parts = v.split('=')
        return parts[0] === name ? decodeURIComponent(parts[1]) : r
      }, '')
    }
    
    const deleteCookie = (name, path) => {
      setCookie(name, '', -1, path)
    }

    回复
    0
  • P粉785905797

    P粉7859057972023-08-22 00:02:24

    这里是用于创建和获取cookie的函数。

    function createCookie(name, value, days) {
        var expires;
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            expires = "; expires=" + date.toGMTString();
        }
        else {
            expires = "";
        }
        document.cookie = name + "=" + value + expires + "; path=/";
    }
    
    function getCookie(c_name) {
        if (document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=");
            if (c_start != -1) {
                c_start = c_start + c_name.length + 1;
                c_end = document.cookie.indexOf(";", c_start);
                if (c_end == -1) {
                    c_end = document.cookie.length;
                }
                return unescape(document.cookie.substring(c_start, c_end));
            }
        }
        return "";
    }

    回复
    0
  • 取消回复