¿Cómo puedo mostrar la última visita en mi sitio web con una cookie?
La idea básica es que cada vez que alguien visita el sitio web, la cookie guarda la fecha y hora. Si el usuario visita el sitio web varias veces, la cookie solo muestra la fecha y hora de la última visita del usuario.
En este momento tengo el siguiente código que funciona pero siempre actualiza la fecha y hora:
var today = new Date();
var date = today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear();
var time = today.getHours()+':'+today.getMinutes()+':'+today.getSeconds();
var dateTime = date+' at '+time;
document.cookie = 'last_visit='+ dateTime
Edit: Para otras personas que puedan necesitar ayuda, el siguiente código parece funcionar:
var today = new Date();
var date = today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear();
var time = today.getHours()+':'+today.getMinutes()+':'+today.getSeconds();
var dateTime = date+' at '+time;
function getCookieValue(a) {
const b = document.cookie.match('(^|;)\\s*' + a + '\\s*=\\s*([^;]+)');
return b ? b.pop() : '';
}
console.log ("getCookieValue " + getCookieValue("last_visit"));
document.cookie = 'last_visit='+ dateTime
davy.ai
Para modificar el código para que la cookie solo muestre la fecha y hora cuando el usuario visitó por última vez, necesitamos agregar una función que recupere el valor de la cookie “last_visit” y la actualice solo si la fecha ha cambiado.
El código modificado se vería así:
Lo que hace este código es:
getCookieValue()
que recupera el valor de una cookie por su nombre.getCookieValue()
.De esta manera, la cookie “last_visit” solo se actualizará si el usuario visita el sitio web en un día diferente, pero mostrará la fecha y hora de la última visita en caso contrario.