JavaScript/Cookie: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m come quiz non diventa qizzes, cookie non diventa cookies :-S |
completamento modulo |
||
Riga 22:
if (scadenza == "") {
var oggi = new Date()
oggi.
scadenza = oggi.toGMTString() //restituisce la data nel formato necessario
}
valore = escape(valore);
document.cookie=nome + "=" + valore + ";expires=" + scadenza;
}
</source>
== Ottenere i cookie ==
Per ottenere i valori dei cookie relativi al proprio documento è necessario accedere alla proprietà <code>document.cookie</code> che restituisce una stringa contenente coppie di nome-valore di ciascun dato separate da un punto e virgola e uno spazio. Ad esempio:
NomeUtente=Ramac; UltimaVisita=Thu, 30 August 2007 13:34:12
Possiamo notare due punti importanti:
*mentre è possibile impostare valori come la data di scadenza del cookie, non è possibile ottenerli una volta modificati
*i dati per una comoda lettura necessitano di una manipolazione stringa
Per la lettura dei cookie, può risultare utile questa funzione che resituisce il valore di un cookie a partire dal suo nome:
<source lang=javascript>
function valoreCookie (nome) {
var valore=document.cookie; //ottiene la stringa di cookie
var inizioCookie=valore.indexOf(" " + nome + "="); //trova il cookie desiderato
if (inizioCookie == -1) { //se non esiste, magari è all'inizio della stringa
inizioCookie = valore.indexOf(nome + "=");
}
if (inizioCookie == -1) { //il cookie non esiste proprio
valore = null;
}
if (inizioCookie >= 0) //il cookie esiste
inizioCookie = valore.indexOf("=", inizioCookie) + 1; //qui inizia la stringa del valore
var fineCookie = valore.indexOf(";", inizioCookie); //qui finisce
if (fineCookie == -1) //se non viene trovato, allora è l'ultimo cookie
fineCookie = valore.length;
valore = unescape(valore.substring(inizioCookie, fineCookie)); //elimina i caratteri commutati
}
return valore;
}
</source>
== Verificare se i cookie sono attivi ==
Come è già stato accennato in precedenza, uno degli svantaggi dei cookie risiede nel fatto che '''possono essere facilmente disabilitati''' dall'utente; è pertanto necessario sviluppare soluzioni alternative ai cookie, soprattutto se sono parte essenziale della propria applicazione web.
Il modo più semplice per verificare se i cookie sono attivati è quello di crearne uno fittizio e verificare se è possibile ottenerne il valore. La seguente è una funzione che restituisce <code>true</code> se i cookie sono abilitati:
<source lang=javascript>
function cookieAttivi () {
ris = false; //imposta il risultato a falso
impostaCookie("testCookie", "test"); //crea il cookie fittizio
if (valoreCookie("testCookie") == "test") { //se esiste
ris = true; //allora i cookie sono abilitati
}
return ris;
}
</source>
[[Categoria:JavaScript|Cookie]]
|