Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cookies javascript

Estas en el tema de Cookies javascript en el foro de Javascript en Foros del Web. Hola a todos, Estoy poniendo el típico aviso para le ley de cookies. Nunca había trabajado con cookies y el problema que tengo es que ...
  #1 (permalink)  
Antiguo 24/10/2013, 05:13
 
Fecha de Ingreso: enero-2011
Mensajes: 84
Antigüedad: 13 años, 2 meses
Puntos: 4
Cookies javascript

Hola a todos,

Estoy poniendo el típico aviso para le ley de cookies. Nunca había trabajado con cookies y el problema que tengo es que cuando cierro la capa si estoy en la pagina inicial ya no me vuelve a aparecer pero si sale en otra página que no es la inicial, luego voy a la inicial y vuelve a salir el aviso... Este es el código que tengo:

Para mostrar la capa:

Código:
<div id="barritaloca" style="display:none; position:fixed;left:0;top:0;z-index:999999;width:100%;background-color:#333;background-color:rgba(0,0,0,0.8);color:#fff;font-size:11px;">
<div style="width:980px;margin:0 auto;padding:10px;"><a href="javascript:void(0);" style="float:right;margin:6px 0 0 20px;padding:2px 8px;border-radius:6px;background-color:#666;color:#fff;text-decoration:none;" onclick="PonerCookie();">Cerrar</a>
Este sitio web utiliza cookies de terceros para obtener información estadística sobre la navegación. Si continúa navegando, consideraremos que acepta su uso. Puede obtener más información y saber cómo puede cambiar la configuración consulta nuestra
<a href="#" style="color:#ccc;text-decoration:underline;">política de cookies</a>
</div>
</div>
La gestión de las cookies en javascript:

Código:
function getCookie(c_name){
 var c_value = document.cookie; // en c_value ponemos las cookies
 
 var c_start = c_value.indexOf(" " + c_name + "="); // busca un nombre de cookie
 
 if (c_start == -1){
  c_start = c_value.indexOf(c_name + "=");
 }
 
 // Si esta vacia en c_start se pone c_name
 
 if (c_start == -1){
  c_value = null;
 }else{
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1){
   c_end = c_value.length;
  }
  c_value = unescape(c_value.substring(c_start,c_end));
 }
 return c_value;
}

function setCookie(c_name,value,exdays){
 var exdate=new Date();
 exdate.setDate(exdate.getDate() + exdays);
 var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
 document.cookie=c_name + "=" + c_value;
}


if(getCookie('aviso')!="1"){
 document.getElementById("barritaloca").style.display="block";
}

function PonerCookie(){
 setCookie('aviso','1',365);
 document.getElementById("barritaloca").style.display="none";
}
¿Cómo puedo hacer para que cierre desde donde cierre el aviso no salga en ninguna página más? Es decir, cuando document.cookie sea valor=1 que está cookie este presente en todas las páginas del sitio web.

Muchas gracias de antemano!!!
  #2 (permalink)  
Antiguo 24/10/2013, 10:21
 
Fecha de Ingreso: enero-2011
Mensajes: 84
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Cookies javascript

Bueno ya lo solucioné... A la función setCookie se le puede pasar el argumento path, por lo tanto se lo pasé y puse una linea más poniendo la path. Me quedó así:

Código Javascript:
Ver original
  1. function setCookie(c_name,value,exdays,path){
  2.  var exdate=new Date();
  3.  exdate.setDate(exdate.getDate() + exdays);
  4.  var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  5.  c_value+="; path=/";
  6.  document.cookie=c_name + "=" + c_value;
  7. }

Espero que le sirva a alguien.
  #3 (permalink)  
Antiguo 05/03/2014, 09:47
 
Fecha de Ingreso: octubre-2006
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Cookies javascript

He instalado barritaloca correctamente, pero lo que no se es cómo hacer que bloquee las cookies hasta que el usuario no de su aceptación.

La ley obliga a evitar la instalación de cookies hasta que el usuario no de su consentimiento (por ejemplo, navegando por la web).

¿Alguien sabe como configurar este script para que haga eso?
  #4 (permalink)  
Antiguo 06/03/2014, 04:23
 
Fecha de Ingreso: octubre-2006
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Cookies javascript

Revisando el código veo que has comentado algunas líneas sobre donde poner cookies, etc. Pero no me queda claro cómo hacerlo.

Podrías pasarme un ejemplo con el código bloqueando, por ejemplo _utma y _utmb hasta que el usuario decide continuar navegando en la web?

Es que ni la menor idea sobre cómo hacerlo con más de una cookie, por eso planteo un ejemplo con dos cookies y luego ya apaño yo con el resto.

También, el javascript desde el que se lanzan las cookies (por ejemplo el script de Google analytics) hay que ponerlo como "type="text/plain" o se puede mantener como type="text/javascript"?

Da la sensación de que BarritaLoca efectivamente puede bloquear cookies pero como no está explicado en ninguna parte como hacer que las bloquee todas las implementaciones tienen el código sin personalizar para ese fin.

Etiquetas: cookies
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:12.