Foros del Web » Programando para Internet » Javascript »

Guardar cookie

Estas en el tema de Guardar cookie en el foro de Javascript en Foros del Web. Hola. Tengo una función javascript con la cual mediante un href puedo elegir el estilo que quiero que tenga mi web (estilo1 o estilo2). Esto ...
  #1 (permalink)  
Antiguo 27/10/2010, 16:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 0
Guardar cookie

Hola. Tengo una función javascript con la cual mediante un href puedo elegir el estilo que quiero que tenga mi web (estilo1 o estilo2).

Esto funciona bien, pero ahora necesito guardar el estilo seleccionado en una cookie y no sé muy bien cómo hacerlo.

Para realizar el setCookie, cómo le paso como parámetro el valor del estilo que está activo?

Y cada vez que recargo la página, debería hacer un getCookie para ver qué estilo tengo guardado en la cookie? Y dónde debería poner la llamada a la función?

Gracias.
  #2 (permalink)  
Antiguo 27/10/2010, 16:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 13 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Guardar cookie

mira mi codigo estoy haciendo lo mismo,e sta cookie dura 30 dias, analiza el codigo un poco y ya

Código:
//Imagen Fondo
var expDays = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function img(){
var favColor = GetCookie('color');
if (favColor == null) {
SetCookie('color', favColor, exp);
}
document.body.background=favColor;
return favColor;
}
function set(){
favColor = prompt("Escribe la Url de la Imagen para poner de Fondo");
SetCookie ('color', favColor, exp);
}
/*De aca para abajo no tocar no se que sucede si se cambia pero cuando borro alguna linea la cookie no funciona bien*/

function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {  
var exp = new Date();  
exp.setTime (exp.getTime() - 1);  
var cval = GetCookie (name);  
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// Fin Imagen Fondo
  #3 (permalink)  
Antiguo 28/10/2010, 00:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Guardar cookie

Según observo, coges la url del fondo mediante un valor que introduce el usuario a través de un prompt no?

Yo necesito que al seleccionar el fondo, automáticamente se guarde el estilo y ahí es donde no sé cómo indicarle el valor de fondo que está activo al setCookie y desde dónde llamo a la función setCookie, desde el html o llamo a la función directamente desde dentro de la función que activa el fondo de usuario?.

Luego, también me gustaría ver cómo llamo a las funciones javascript desde el código html para hacer un getCookie cada vez que se recargue la página y así saber qué estilo es el que debe cargarse.

Gracias.
  #4 (permalink)  
Antiguo 28/10/2010, 16:03
 
Fecha de Ingreso: octubre-2010
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Guardar cookie

Ya he conseguido que funcione en firefox, pero en internet explorer y safari no me funciona.

En firefox no pasa, pero en explorer y safari, hago el setCookie y es como si no guardara la cookie, porque la siguiente vez que lo pruebo me dice que no hay cookie almacenada.

Sabéis algo de que no funcionen este tipo de cosas en estos navegadores?

Última edición por masi10; 28/10/2010 a las 16:35

Etiquetas: cookie
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 03:19.