Вы находитесь на странице: 1из 5

Creaymodificalascookiesde

tunavegadorconJavascript

05Ene2011

Unacookieesunpequeoficherodetexto,almacenadopornuestronavegadorennuestrosistema,elcual
almacenainformacinquetransmitealservidorencadapeticin.
Suobjetivoesdarinformacinsobrenosotrosalservidorweb,paraelcual,cadavezqueaccedemosaun
recursosuyosomosunvisitantedistinto.Normalmentesesuelenusarparaguardarlaspreferenciasde
usuario.
Elfuncionamientodelascookiesessencillo.Alaccederaunrecursowebsecompruebasiposeemosuna
cookieparadichodominioypath.Siexisteselaenviamosalservidorenlosencabezadosdelapeticin.El
servidorleelosdatosalmacenadosenellaydeestaformaobtienedenosotroslainformacinqueantesno
tenay,segnelcaso,puedeenviarcontenidopersonalizadoparanuestrousuario.

Elementosdeunacookie
Unacookieconsistedelasiguienteinformacin:
1. Unparnombrevalorquecontieneeldatoodatosalmacenados.
2. Unafechadeexpiracinapartirdelacuallacookieserinvalidada(yeliminada).
3. 3.Eldominioyelpathdelservidoracualenviardichodato.

1. nombrevalor
Cadacookiecontieneunparnombrevalorquecontieneeldatoodatosquesedeseaalmacenar.Elnombrese
utilizacomoreferenciaparaobtenerelvalor.

2. Fechadeexpiracin
Lascookiestienenunaduracin.Sinoseespecificanadalacookieservlidamientraselnavegadorest
abierto.

3. Dominioypath
Eldominioyelpathindicanelmbitodevalidezdelacookie.Sinoseespecificanadaelmbitoserel
dominioactual.Enestecasowww.3sellers.com.
Esimportantetenerencuentaquenopodemoscrearunacookieenundominiodistintodelquenos
encontremos.

Lascookiescreadasenestedominiosloseenviaranmientrasvisitemospginasorecursosdeestedominio.
Noseenviaranenelcasodeotrossubdominios,por
ejemplo:catalogo.3sellers.comopromocion.3sellers.com,loscualesmantendrnsuspropiascookies.
Conelpathpasalomismo,podemosrestringirdesdequepathsenviarnuestrascookies.
Porejemplo,/store/page/blog.
Estacookiesloseenviaraenestepath.

document.cookie
LascookiessepuedenleerusandoJavascript,medianteelusodelapropiedad"document.cookie".
Lasoperacionesbsicassobreunacookiesson:
1.crear
2.actualizar
3.leer
4.borrar
Sepuedecrearunacookieasignndoleunacadenaconelcontenidodelacookie.
Elformatodeestacadenaes:

"dato;fechaexpiracin;path"

1crear
document.cookie="usuario=Jose;expires=Tue,12Jan201012:23:00GMT;path=/"

Estocreaunacookieparawww.3sellers.comquedura7das.
Podemosverqueefectivamenteestcreada:

document.cookie
"usuario=Jose"

Podemoscrearotracookiedelamismaforma:

document.cookie="cookie=otra_cookie;expires=Tue,12Jan201012:23:00GMT;path=/"

document.cookie
"usuario=Jose;cookie=otra_cookie"

2actualizar
Podemosactualizarunacookiesobreescribindola:

document.cookie="usuario=Laura;expires=Tue,12Jan201012:23:00GMT;path=/"
document.cookie
"usuario=Laura;cookie=otra_cookie"

3leer
Paraleerelcontenidodeldatousuarioenlacookiedebemosparsearelcontenidodelacookieparaobtenerlo.
Estoesmscomplicadoyacontinuacinmostrarunscriptparafacilitarestatarea.

4borrar
Nopodemosborrarunacookiedirectamente,hemosdevolveracrearlaconunafechadeexpiracinanteriora
lafechaactual:

document.cookie="usuario=Jose;expires=Tue,12Jan200112:23:00GMT;path=/"

Elnavegadorverquehaexpiradoylaeliminar.

Script
Elsiguientescriptnosda3funcionesquenosfacilitaneltrabajoconcookies:

varTools={
createCookie:function(name,value,days){
if(days){
vardate=newDate();
date.setTime(date.getTime()+(days*24*60*60*1000));
varexpires=";expires="+date.toGMTString();
}elsevarexpires="";
document.cookie=name+"="+value+expires+";path=/";
},
readCookie:function(name){
varnameEQ=name+"=";
varca=document.cookie.split(';');
for(vari=0;i<ca.length;i++){
varc=ca[i];
while(c.charAt(0)=='')c=c.substring(1,c.length);
if(c.indexOf(nameEQ)==0)returnc.substring(nameEQ.length,c.length);
}
returnnull;
},
eraseCookie:function(name){
Tools.createCookie(name,"",1);

}
};

1.Crear
LafuncincreateCookierequiere3parmetros,elnombredeldatoaalmacenarenlacookie,suvaloryel
numerodedasenquesteservlido.
Ejemplo:

Tools.createCookie("usuario","Jose",7);
document.cookie
>"usuario=Jose"

2.Actualizar
Usandolamismafuncinanterior.

Tools.createCookie("usuario","Laura",7);
document.cookie
>"usuario=Laura"

3.Leer
LafuncinreadCookierequiereunparmetro,queserelnombredeldatoquequeremosbuscar.
Ejemplo:

Tools.readCookie("usuario");
>Jose

4.Borrar
LafuncineraseCookierequiereunparmetro,queserelnombredeldatoaeliminar.
Ejemplo:

Tools.eraseCookie("usuario")
document.cookie
>""

7COMENTARIOS

Вам также может понравиться