JavaScript - El mensaje de las cookies no desaparece

   
Vista:

El mensaje de las cookies no desaparece

Publicado por Maria mdiaz.tizon@gmail.com (3 intervenciones) el 10/05/2016 14:20:05
Hola programadores.

Lo primero, darles las gracias de antemano.

Tengo un problema a la hora de programar el aviso emergente de las cookies (el típico de "Esta web utiliza cookies. Si sigues navegando, entendemos que aceptas estas condiciones de uso").

El aviso me aparece perfectamente y funciona al darle al ok (desaparece), etc. Mi problema es que al refrescar la web el aviso vuelve a aparecer, es decir no guarda las cookies. He intentado con muchísimos ejemplo de programación cogidos de diferentes web pero siempre pasa lo mismo, al volver a cargar la web el mensaje aparce de nuevo aunque el usuario haya aceptado.

¿A qué puede deberse? He mirado en mil sitios y no encuentro solución... y como os decía, he probado con varios códigos que en su web correspondiente sí funcionan pero a mí no me cogen la cookies...

Muchisimas gracias de nuevo.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

El mensaje de las cookies no desaparece

Publicado por xve (1594 intervenciones) el 10/05/2016 15:59:19
Hola Maria, no muestras tu código, por lo que no se muy bien que estas haciendo mal...

Te adjunto un código que muestra como crear, leer y eliminar una cookie desde javascript...
http://www.lawebdelprogramador.com/codigo/JavaScript/1720-cookies-crear-consultar-y-eliminar.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

El mensaje de las cookies no desaparece

Publicado por Maria mdiaz.tizon@gmail.com (3 intervenciones) el 10/05/2016 21:16:07
Muchísimas gracias por tu tiempo xve.

Mi problema es con el típico aviso emergente de las cookies.

Tengo este código (aunque he probado con muchos y siempre encuentro el mismo problema. Este código lo he cogido de la web http://politicadecookies.com/descargas.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="es">
<head>
<title>Cookies</title>
 
<script type="text/javascript">
	function getCookie(c_name){
		var c_value = document.cookie;
		var c_start = c_value.indexOf(" " + c_name + "=");
		if (c_start == -1){
			c_start = c_value.indexOf(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('tiendaaviso')!="1"){
		document.getElementById("barraaceptacion").style.display="block";
	}
	function PonerCookie(){
		setCookie('tiendaaviso','1',365);
		document.getElementById("barraaceptacion").style.display="none";
	}
</script>
 
<style>
	#barraaceptacion {
		display:none;
		position:fixed;
		left:0px;
		right:0px;
		bottom:0px;
		padding-bottom:20px;
		width:100%;
		text-align:center;
		min-height:40px;
		background-color: black;
		/*background-color: rgba(0, 0, 0, 0.5);*/
		color:#fff;
		z-index:99999;
	}
 
	.inner {
		width:100%;
		position:absolute;
		padding-left:5px;
		font-family:verdana;
		font-size:12px;
		top:30%;
	}
 
	.inner a.ok {
		padding:4px;
		color:#00ff2e;
		text-decoration:none;
	}
 
	.inner a.info {
		padding-left:5px;
		padding-right:5px;
		text-decoration:none;
		color:#faff00;
	}
</style>
 
</head>
 
<body>
 
<div id="barraaceptacion" style="display: block;">
    <div class="inner">
        Solicitamos su permiso para obtener datos estadísticos de su navegación, en cumplimiento del Real
        Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.
        <a href="javascript:void(0);" class="ok" onclick="PonerCookie();">OK</a> |
        <a href="cookies.html" class="info">Más información</a>
    </div>
</div>
</body>
</html>


El problema es que muestra la barra del aviso de las cookies con su "Aceptar" y su "más información" y al pinchar el "Aceptar" desaparece la barra, pero al volver a cargar la página el mensaje de las cookies vuelve a aparecer, no lo borra.

Me "mosquea" un poco el valor 'tiendaaviso' del javascript porque no entiendo de donde saca este valor.... he revisado el código que tú me has dejado y no encuentro ninguna relación entre lo tuyo y este 'tiendaaviso' que pone aquí....

MIL GRACIAS DE NUEVO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

El mensaje de las cookies no desaparece

Publicado por xve (1594 intervenciones) el 11/05/2016 07:57:23
Hola Maria, no es problema de la cookie, si no que es problema de tu condicional...

tienes que cambiar:
1
2
3
if(getCookie('tiendaaviso')!="1"){
	document.getElementById("barraaceptacion").style.display="none";
}
por:
1
2
3
4
5
window.onload=function(){
	if(getCookie('tiendaaviso')=="1"){
		document.getElementById("barraaceptacion").style.display="none";
	}
}

Fijate que lo que tu haces, es que cuando no haya cookie (!=1) entonces no lo muestras, y es al reves, cuando la cookie devuelve el 1 lo escondes.
Pero no puedes ejecutar tu condicional, hasta que no se haya cargado el contenido html (DOM)

No se si me he sabido explicar... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El mensaje de las cookies no desaparece

Publicado por Maria (3 intervenciones) el 11/05/2016 21:40:42
Un millón de gracias!!!! Por la corrección y por la explicación!!!! Si no fuera por gente como tú, los novatos estaríamos perdidos!!!!
Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar