Ultimele tutoriale de dezvoltare web
 

JavaScript Cookies


Cookies - Cookies vă permit să stocați informații de utilizator în paginile web.


Ce sunt Cookies - Cookies ?

Cookies - Cookies sunt date, stocate în fișiere text mici, pe computer.

Atunci când un server de web a trimis o pagină web la un browser, conexiunea este oprit, iar serverul uită totul despre utilizator.

Cookies - "how to remember information about the user" Cookies au fost inventate pentru a rezolva problema "how to remember information about the user" -și "how to remember information about the user" :

  • Atunci când un utilizator accesează o pagină web, numele său poate fi stocat într - un cookie .
  • Data viitoare când utilizatorul vizitează pagina, cookie - cookie "remembers" numele lui.

Cookies - Cookies sunt salvate în perechi nume-valoare , cum ar fi:

username = John Doe

Atunci când o cerere de browser o pagină web de la un server, cookies - cookies care fac parte din pagina se adaugă la cerere. În acest fel serverul devine datele necesare pentru a "remember" informații despre utilizatori.


Creați a Cookie cu JavaScript

JavaScript poate crea, citi, și ștergeți cookies - document.cookie cookies cu document.cookie proprietate.

Cu JavaScript, a cookie poate fi creat astfel:

document.cookie = "username=John Doe";

Puteți adăuga , de asemenea , o dată de expirare (in UTC time) . În mod implicit, the cookie - the cookie este șters atunci când browserul este închis:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

Cu un parametru de cale, puteți spune browser - ului ce calea de the cookie aparține. În mod implicit, the cookie - the cookie face parte din pagina curentă.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

Citiți a Cookie cu JavaScript

Cu JavaScript, cookies - cookies pot fi citite ca aceasta:

var x = document.cookie;

document.cookie va returna toate cookies - cookie1=value; cookie2=value; cookie3=value; cookies într - un singur șir de mult cum ar fi: cookie1=value; cookie2=value; cookie3=value; cookie1=value; cookie2=value; cookie3=value;


Schimbarea a Cookie cu JavaScript

Cu JavaScript, puteți schimba a cookie în același mod în care îl creați:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

Vechiul cookie este suprascris.


Ștergerea a Cookie cu JavaScript

Ștergerea a cookie este foarte simplu. Trebuie doar să setați Expiră parametru la o dată a trecut:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

Rețineți că nu trebuie să specificați a cookie valoare atunci când ștergeți a cookie .


Cookie String

document.cookie Proprietatea arata ca un șir de text normal. Dar nu este.

Chiar dacă a scrie un întreg cookie șir pentru a document.cookie , când ai citit -o din nou, puteți vedea doar perechea nume-valoare de ea.

Dacă setați un nou cookie , mai vechi cookies - cookies nu sunt suprascrise. Noul cookie se adaugă la document.cookie , așa că , dacă ai citit document.cookie din nou , vei primi ceva de genul:

cookie1 = value; cookie2 = value;

-

Dacă doriți să găsiți valoarea unuia specificate cookie , trebuie să scrie o funcție JavaScript care caută pentru cookie valoarea din cookie șir.


JavaScript Cookie Exemplu

În exemplul de urmat, vom crea a cookie care stochează numele unui vizitator.

Prima dată când un vizitator ajunge la pagina web, el se va cere să completeze numele său. Numele este apoi stocat într - a cookie .

Data viitoare vizitatorul ajunge la aceeași pagină, el va primi un mesaj de bun venit.

Pentru exemplu, vom crea 3 funcții JavaScript:

  1. O funcție pentru a seta un cookie valoare
  2. O funcție pentru a obține un cookie valoare
  3. O funcție pentru a verifica un cookie valoare

O funcție pentru a Set a Cookie

În primul rând, vom crea o funcție care stochează numele vizitatorului într - a cookie variabil:

Exemplu

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

Exemplu explicat:

Parametrii funcției de mai sus sunt numele cookie (cname) , valoarea the cookie (cvalue) , iar numărul de zile până la cookie - ul ar trebui să expire (exdays) .

Funcția setează a cookie adunând cookiename , the cookie valoarea și expiră șir.


O funcție pentru a obține a Cookie

Apoi, vom crea o funcție care returnează valoarea unei specificate cookie :

Exemplu

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
}

Funcția a explicat:

Ia the cookiename ca parametru (cname) .

Crearea unei variabile (name) cu textul pentru a căuta (cname + "=") .

Document.cookie Split semicoloane într - o matrice numita ca (ca = document.cookie. split(';') ) .

Buclă prin ca array (i=0;i<ca.length;i++) și a citit fiecare valoare c=ca[i]) .

Dacă the cookie - (c. indexOf(name) == 0) the cookie (c. substring(name.length,c.length) the cookie este găsit (c. indexOf(name) == 0) , returnează valoarea the cookie (c. substring(name.length,c.length) .

În cazul în care the cookie - "" the cookie nu este găsit, întoarce "" .


O funcție pentru a verifica a Cookie

În sfârșit, vom crea funcția care checks dacă a cookie este setat.

Dacă the cookie - the cookie este setat se va afișa un mesaj de întâmpinare.

În cazul în care the cookie - cookie setCookie the cookie nu este setat, se va afișa o casetă promptă, solicitând numele utilizatorului, și stochează numele de utilizator cookie timp de 365 de zile, apelând setCookie funcție:

Exemplu

function checkCookie() {
    var username=getCookie("username");
    if (username!="") {
        alert("Welcome again " + username);
    } else {
        username = prompt("Please enter your name:", "");
        if (username != "" && username != null) {
            setCookie("username", username, 365);
        }
    }
}

Toti impreuna acum

Exemplu

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}
Încearcă - l singur »

Exemplul de mai sus conduce checkCookie() funcția atunci când pagina încarcă.