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:
- O funcție pentru a seta un cookie valoare
- O funcție pentru a obține un cookie valoare
- 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ă.