recherche

Maison  >  Questions et réponses  >  le corps du texte

Tutoriel JavaScript : Utiliser JavaScript pour créer et lire des valeurs dans les cookies

<p>Comment créer et lire les valeurs des cookies en JavaScript ? </p>
P粉752290033P粉752290033479 Il y a quelques jours514

répondre à tous(2)je répondrai

  • P粉132730839

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

    Approche ES6 simple mais complète :

    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)
    }

    répondre
    0
  • P粉785905797

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

    Voici les fonctions utilisées pour créer et récupérer des cookies.

    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 "";
    }

    répondre
    0
  • Annulerrépondre