Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2013, 05:13
nachetee
 
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!!!