Foros del Web » Programando para Internet » Javascript »

Cookie truncada en Safari

Estas en el tema de Cookie truncada en Safari en el foro de Javascript en Foros del Web. Hola, no me funcionan bien las cookies en safari. En los demás navegadores he hecho pruebas y ningún problema, pero en Safari se trunca a ...
  #1 (permalink)  
Antiguo 04/11/2010, 08:14
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Cookie truncada en Safari

Hola, no me funcionan bien las cookies en safari. En los demás navegadores he hecho pruebas y ningún problema, pero en Safari se trunca a 19 posiciones.

No parece que sea una limitación de Safari porque consultando las demás cookies las hay más largas, pero la mia no hay manera que se grabe bien.

El código es el siguiente (es para guardar una geolocalización):

Código:
      
var current_date = new Date;
current_date.setMonth(parseInt(current_date.getMonth ( ) + 1));
document.cookie = "RecordarPos=" + map.getCenter() + " Zoom:" + map.getZoom() + ";expires=" + current_date.toGMTString();
El contenido correcto sería:

(41.354950113587435, 2.09880331534424) Zoom:14

Y en cambio en Safari se queda en:

(41.354950113587435

Gracias!
Saludos.
  #2 (permalink)  
Antiguo 04/11/2010, 09:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cookie truncada en Safari

Prueba usando escape() a la hora de guardar el valor y luego usando unescape() al leerlo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/11/2010, 09:37
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cookie truncada en Safari

Gracias David, pero tampoco va bien
  #4 (permalink)  
Antiguo 04/11/2010, 09:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cookie truncada en Safari

Haciendo unas pruebas funcionó bien. ¿Cómo lo intentaste?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 04/11/2010, 09:51
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cookie truncada en Safari

No sé muy bien cómo va esto del escape, lo que he hecho es:

document.cookie = escape( "RecordarPos=" + map.getCenter() + " Zoom:" + map.getZoom() + ";expires=" + current_date.toGMTString(););

¿tú cómo lo has probado?

Estoy pensando que sería más lógico esto:

document.cookie = "RecordarPos=" + scape(map.getCenter() + " Zoom:" + map.getZoom() + ";expires=" + current_date.toGMTString());

¿no?
  #6 (permalink)  
Antiguo 04/11/2010, 09:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cookie truncada en Safari

Lo único que debes escapar es el valor en sí:
Código Javascript:
Ver original
  1. document.cookie = "RecordarPos=" + escape(map.getCenter() + " Zoom:" + map.getZoom()) + ";expires=" + current_date.toGMTString();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 04/11/2010, 10:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cookie truncada en Safari

Cita:
Iniciado por David Ver Mensaje
Lo único que debes escapar es el valor en sí:
Código Javascript:
Ver original
  1. document.cookie = "RecordarPos=" + escape(map.getCenter() + " Zoom:" + map.getZoom()) + ";expires=" + current_date.toGMTString();

Si!!! Muy bien David, muchas gracias!

Y ya puestos ¿podrías explicarme por qué funciona de esta manera? ¿las comas confunden a Safari? ¿hay que evitar estos carácteres en las cookies?
  #8 (permalink)  
Antiguo 04/11/2010, 10:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cookie truncada en Safari

Sí, por lo visto la coma afecta el valor. Se suele escapar los valores a guardar para no tener problemas con ese y otros caracteres ("=", ";", etc.)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/11/2010, 10:15
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cookie truncada en Safari

Ok, lo tendré en cuenta en el futuro, como ya te habrás dado cuenta soy un poco novato.

Muchas gracias David, doy por cerrado el tema.

Saludos!

Etiquetas: cookie, safari
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 20:17.