Foros del Web » Programando para Internet » Javascript »

Acción en javascript

Estas en el tema de Acción en javascript en el foro de Javascript en Foros del Web. Como puedo hacer para llamar a una cookie desde una página web. Sé que para limpiar una cookie es: Citar: -------------------------------------------------------------------------------- function limpiarCookie() { index ...
  #1 (permalink)  
Antiguo 29/10/2003, 06:25
 
Fecha de Ingreso: julio-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 0
Acción en javascript

Como puedo hacer para llamar a una cookie desde una página web.

Sé que para limpiar una cookie es:
Citar:
--------------------------------------------------------------------------------

function limpiarCookie() {
index = document.cookie.indexOf("nombre");
document.cookie="nombre=.";
} --------------------------------------------------------------------------------

Y lo ejecutás al cargar la página:

<BODY onLoad="limpiarCookie();">

Pero ¿para llamarla?
  #2 (permalink)  
Antiguo 29/10/2003, 15:26
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Pasky,

supongo que sigues peleándola con tu problema de cookies. Recibí tu mensaje y fuí a echar un vistazo a tu problema y, efectivamente, al cambiar de página no le queda la nueva cookie, es extraño.

ahora que tenía un ratito quería mirarmelo con más calma pero no me cargan las url que me diste, me da error 404 no encontrado. Cuando puedan verse de nuevo avisame.

Respecto a cómo llamar cookies se hace mediante document.cookie.

Las cookies son almacenadas en un único documento de texto en caso de asignarles una fecha de caducidad, y en el caso de no hacerlo, se almacenan en la memoria del propio navegador y se pierden al cerrase la ventana.

Todas las cookies insertadas por un mismo dominio serán guardadas en conjunto. Así, si insertas 3 cookies, al solicitarlas mediante document.cookie te mostrará un string con las 3 cookies separas por ; (punto y coma).

Para buscar un valor concreto se deben usar métodos de string para encontrar el valor concreto que buscas.

Prueba a pedirle a tu navegador alert(document.cookie)
  #3 (permalink)  
Antiguo 29/10/2003, 15:56
 
Fecha de Ingreso: julio-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 0
Las páginas sigen disponibles en las urls que te di.

Estoy seguro que debe tratarse de alguna tonteria, es la primera vez que trabajo con cookies.
  #4 (permalink)  
Antiguo 29/10/2003, 17:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cierto, cuando las abrí el otro día también me dieron error y era porque se coló una coma al final de las url.

Pues tienes razón, del directorio principal no recibe las nuevas cookies, y he probado en mi sitio y sucede lo mismo, así que parece que no es algo que te suceda a tí sólo.

Buscaré documentación al respecto a ver si encuentro alguna forma de solucionarlo. Hoy no, aquí es tarde y es hora de cambiar el pc por el plato de cena

Tanto si averiguo algo como si no te digo alguna cosa.

Un saludo
  #5 (permalink)  
Antiguo 30/10/2003, 19:15
 
Fecha de Ingreso: julio-2003
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 0
Bueno, sigo sin encontrar el problema.

Les voy a pegar el código para ver si encuentran el problema de porque se pierde el contenido de la cookie al cambiar a páginas de diferentes directorios.

----------------------
index = document.cookie.indexOf("TheBasket");
countbegin = (document.cookie.indexOf("=", index) + 1);
countend = document.cookie.indexOf(";", index);
function alterError(value) {
if (value<=0.99) {
newPounds = '0';
} else {
newPounds = parseInt(value);
}
newPence = parseInt((value+.0008 - newPounds)* 100);
if (eval(newPence) <= 9) newPence='0'+newPence;
newString = newPounds + '.' + newPence;
return (newString);
}
if (countend == -1) {
countend = document.cookie.length;
}
fulllist = document.cookie.substring(countbegin, countend);
totprice = 0;
itemlist = 0;
for (var i = 0; i <= fulllist.length; i++) {
if (fulllist.substring(i,i+1) == '[') {
itemstart = i+1;
} else if (fulllist.substring(i,i+1) == ']') {
itemend = i;
thequantity = fulllist.substring(itemstart, itemend);
itemtotal = 0;
itemtotal = (eval(theprice*thequantity));
temptotal = itemtotal * 100;
totprice = totprice + itemtotal;
itemlist=itemlist+1;
} else if (fulllist.substring(i,i+1) == ',') {
theitem = fulllist.substring(itemstart, i);
itemstart = i+1;
} else if (fulllist.substring(i,i+1) == '#') {
theprice = fulllist.substring(itemstart, i);
itemstart = i+1;
}
}

function buyItem(newItem, newPrice, newQuantity) {
if (newQuantity <= 0) {
rc = alert('La cantidad ingresada es incorrecta');
return false;
}
if (confirm('¿Agregar '+newQuantity+' '+newItem+' al carrito?')) {
index = document.cookie.indexOf("TheBasket");
countbegin = (document.cookie.indexOf("=", index) + 1);
countend = document.cookie.indexOf(";", index);
if (countend == -1) {
countend = document.cookie.length;
}
document.cookie="TheBasket="+document.cookie.subst ring(countbegin, countend)+"["+newItem+","+newPrice+"#"+newQuantity+"]";
window.location.reload();
}
return true;
}

function resetShoppingBasket() {
index = document.cookie.indexOf("TheBasket");
document.cookie="TheBasket=.";
}

--------------------------------------

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:07.