Foros del Web » Programando para Internet » Javascript »

"Aceptar cookies" (cartel en web)

Estas en el tema de "Aceptar cookies" (cartel en web) en el foro de Javascript en Foros del Web. Hola. No sé si esta es la sección correcta, pero necesito ayuda. Yo tengo el siguiente código Javascript (más HTML y CSS): Código: <script type="text/javascript"> ...
  #1 (permalink)  
Antiguo 04/07/2014, 22:05
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 5 años, 10 meses
Puntos: 145
Exclamación "Aceptar cookies" (cartel en web)

Hola. No sé si esta es la sección correcta, pero necesito ayuda.

Yo tengo el siguiente código Javascript (más HTML y CSS):

Código:
<script type="text/javascript">
   $(window).load(function(){$("#cerrar").click(function(){$('#ventana-cookies').animate({bottom:'-200px',opacity:0},1000);
   $.cookie('cookie','acepto_las_cookies',{ expires: 7, path: '/' });});
   });
</script>
    	 <div id="ventana-cookies" style="bottom: 0px;" align="center">
      <div class="ventana">
        <p><strong><i class="strong"></i>Política de cookies</strong></p>
        <p>
          Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a>política de cookies</a>, pinche el enlace para mayor información.
        </p>
        
        <a id="cerrar">Acepto, cerrar aviso</a>
        </div>
    </div>
    
     <script type="text/javascript">
          if($.cookie('cookie')!='acepto_las_cookies'){$('#ventana-cookies').animate({bottom:0,},1000);}
   else{
   $('#ventana-cookies').hide();
   }
      </script>
Este cartel me indica que mi sitio tiene una política de cookies.
Bien, ahora mi problema es el siguiente;

Necesito que, por sesión, cada vez que alguien acepte que mi sitio almacena cookies, no vuelva a aparecer el aviso cuando esa persona recarga la página o la visita después de un tiempo.

¿Cómo se hace eso?

Saludos, y gracias de antemano.
  #2 (permalink)  
Antiguo 05/07/2014, 00:34
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 4 meses
Puntos: 67
Respuesta: "Aceptar cookies" (cartel en web)

Yo e creado uno que siempre implanto en mis sitios webs, lo unico que ago un poco de css para modificar el gusto de donde aparece etc. Te lo dejo y tu ya lo adaptas.

Código Javascript:
Ver original
  1. <script>
  2. function getCookie(c_name){
  3. var c_value = document.cookie;
  4. var c_start = c_value.indexOf(" " + c_name + "=");
  5. if (c_start == -1){
  6. c_start = c_value.indexOf(c_name + "=");
  7. }
  8. if (c_start == -1){
  9. c_value = null;
  10. }else{
  11. c_start = c_value.indexOf("=", c_start) + 1;
  12. var c_end = c_value.indexOf(";", c_start);
  13. if (c_end == -1){
  14. c_end = c_value.length;
  15. }
  16. c_value = unescape(c_value.substring(c_start,c_end));
  17. }
  18. return c_value;
  19. }
  20. function setCookie(c_name,value,exdays){
  21. var exdate=new Date();
  22. exdate.setDate(exdate.getDate() + exdays);
  23. var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  24. document.cookie=c_name + "=" + c_value;
  25. }
  26. function AceptarCookie(){
  27. setCookie('aviso','1',365);
  28. document.getElementById("aviso-cookies").style.display="none";
  29. }
  30. </script>

Para utilizarlo solo con este código html:

Código HTML:
Ver original
  1. <div id="aviso-cookies">
  2.  
  3. Mensaje ha mostrar de las cookies
  4.  
  5. <a href="javascript:void(0);" onclick="AceptarCookie();">Aceptar</a>
  6.  
  7. </div>

Cualquier cosa, comenta.

Un saludo.
  #3 (permalink)  
Antiguo 06/07/2014, 20:51
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 5 años, 10 meses
Puntos: 145
Exclamación Respuesta: "Aceptar cookies" (cartel en web)

Muchísimas gracias, Manu, pero sigo con el mismo problema; cada vez que recargo la página, me vuelve a aparecer el aviso.
  #4 (permalink)  
Antiguo 06/11/2014, 09:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 234
Antigüedad: 8 años, 7 meses
Puntos: 6
Respuesta: "Aceptar cookies" (cartel en web)

Yo voy a optar por guardar la Ip del usuario en una tabla si hace clic

¿es correcto?

Si la ip del visitante ya está en la tabla es que aceptó, no muestro div flotante, en caso contrario....
  #5 (permalink)  
Antiguo 06/11/2014, 10:23
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 5 años, 10 meses
Puntos: 578
Respuesta: "Aceptar cookies" (cartel en web)

Cita:
Iniciado por PabloManuel Ver Mensaje
Yo voy a optar por guardar la Ip del usuario en una tabla si hace clic

¿es correcto?

Si la ip del visitante ya está en la tabla es que aceptó, no muestro div flotante, en caso contrario....
No mucho, lo mejor es dejar una cookie o utilizar storage para verificar si aceptó anteriormente o no.
  #6 (permalink)  
Antiguo 06/11/2014, 12:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 234
Antigüedad: 8 años, 7 meses
Puntos: 6
Respuesta: "Aceptar cookies" (cartel en web)

Es cierto, no opté por ello porque claro, es una cookie

Lo haré con una cookie, al pulsar aceptar la pondrá a valor 1 y comprobaré al cargar las páginas de que exista. Gracias!!
  #7 (permalink)  
Antiguo 06/11/2014, 13:05
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 4 meses
Puntos: 67
Respuesta: "Aceptar cookies" (cartel en web)

Cita:
Iniciado por NueveReinas Ver Mensaje
Muchísimas gracias, Manu, pero sigo con el mismo problema; cada vez que recargo la página, me vuelve a aparecer el aviso.
Si te fijas en mi script hay una funcion "AceptarCookie", al hacer clic crea una cookie y la guarda como que se ha aceptado y no aparece de nuevo, en este caso no expira hasta 365 dias.

Tan solo tienes que agregar a un boton:

<button onClick="AceptarCookie()">Aceptar</button>

Saludos.
  #8 (permalink)  
Antiguo 07/11/2014, 02:24
 
Fecha de Ingreso: diciembre-2010
Mensajes: 234
Antigüedad: 8 años, 7 meses
Puntos: 6
Respuesta: "Aceptar cookies" (cartel en web)

Genial!!! sin relación con código de servidor ni bases de datos, me has alegrado el viernes muchas gracias!!!!!
  #9 (permalink)  
Antiguo 07/11/2014, 05:25
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.251
Antigüedad: 6 años
Puntos: 392
Respuesta: "Aceptar cookies" (cartel en web)

Me ha gustato Manu, te lo cojo y te doy un gracias.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #10 (permalink)  
Antiguo 07/11/2014, 08:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 234
Antigüedad: 8 años, 7 meses
Puntos: 6
Respuesta: "Aceptar cookies" (cartel en web)

Pero, dónde está el código que dice que si la cookie es igual a uno, no muestre el Div?
  #11 (permalink)  
Antiguo 07/11/2014, 09:11
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 4 meses
Puntos: 67
Respuesta: "Aceptar cookies" (cartel en web)

Cita:
Iniciado por PabloManuel Ver Mensaje
Pero, dónde está el código que dice que si la cookie es igual a uno, no muestre el Div?
Con esto comprobarias si ya aceptarón o no.

Código Javascript:
Ver original
  1. if(getCookie("aviso") != "1"){
  2. document.getElementById("aviso-cookies").style.display="block";
  3. }

Saludos.
  #12 (permalink)  
Antiguo 07/11/2014, 09:24
 
Fecha de Ingreso: diciembre-2010
Mensajes: 234
Antigüedad: 8 años, 7 meses
Puntos: 6
Respuesta: "Aceptar cookies" (cartel en web)

Ahora sí,

Yo hago una recomendación, para aquellos que tenga una misma Web para varios clientes, el nombre de la cookie lo parametrizaría

en mi caso, la creo con el nombre de dominio que está guardado en una tabla de la DB, me lo traigo por Json y listo, así la cookie se llama: loquesea.es para una y otronombre.es para otro, si usamos un nombre genérico, sería válida para cualquier página.

Creo que esto es correcto no? si pregunto por una cookie generada por otra Web, tendré el valor no?
  #13 (permalink)  
Antiguo 25/01/2015, 06:56
Avatar de Sagajean  
Fecha de Ingreso: enero-2015
Ubicación: Valencia
Mensajes: 5
Antigüedad: 4 años, 5 meses
Puntos: 0
Respuesta: "Aceptar cookies" (cartel en web)

Cita:
Iniciado por MaNuX0218 Ver Mensaje
Yo e creado uno que siempre implanto en mis sitios webs, lo unico que ago un poco de css para modificar el gusto de donde aparece etc. Te lo dejo y tu ya lo adaptas.

Código Javascript:
Ver original
  1. <script>
  2. function getCookie(c_name){
  3. var c_value = document.cookie;
  4. var c_start = c_value.indexOf(" " + c_name + "=");
  5. if (c_start == -1){
  6. c_start = c_value.indexOf(c_name + "=");
  7. }
  8. if (c_start == -1){
  9. c_value = null;
  10. }else{
  11. c_start = c_value.indexOf("=", c_start) + 1;
  12. var c_end = c_value.indexOf(";", c_start);
  13. if (c_end == -1){
  14. c_end = c_value.length;
  15. }
  16. c_value = unescape(c_value.substring(c_start,c_end));
  17. }
  18. return c_value;
  19. }
  20. function setCookie(c_name,value,exdays){
  21. var exdate=new Date();
  22. exdate.setDate(exdate.getDate() + exdays);
  23. var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  24. document.cookie=c_name + "=" + c_value;
  25. }
  26. function AceptarCookie(){
  27. setCookie('aviso','1',365);
  28. document.getElementById("aviso-cookies").style.display="none";
  29. }
  30. </script>

Para utilizarlo solo con este código html:

Código HTML:
Ver original
  1. <div id="aviso-cookies">
  2.  
  3. Mensaje ha mostrar de las cookies
  4.  
  5. <a href="javascript:void(0);" onclick="AceptarCookie();">Aceptar</a>
  6.  
  7. </div>

Cualquier cosa, comenta.

Un saludo.
hola a todos. Perdonar por mi ignorancia pero estoy intentado utilizar este script y no me acaba de funcionar, no se si es que tengo que cambiar algunas lineas de código o que?
  #14 (permalink)  
Antiguo 25/01/2015, 13:36
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.251
Antigüedad: 6 años
Puntos: 392
Respuesta: "Aceptar cookies" (cartel en web)

Mira esto ,,, esta recomendado por google.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-

Etiquetas: cartel, cookies, html
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 2 personas




La zona horaria es GMT -6. Ahora son las 15:47.