Академический Документы
Профессиональный Документы
Культура Документы
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