Uso esta función con caché para hacer que si el usuario ingresa al sitio por primera vez en los últimos x minutos, lo redirija y si es la segunda vez, presione el botón que ahora quiero agregar si es la tercera vez en los últimos x minutos. otra cosa.
function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(";").shift(); } function setLastAccess() { const date = new Date(); const expireMs = 0.5 * 60 * 1000; // number of minutes date.setTime(date.getTime() + expireMs); document.cookie = `lastAccess=${new Date().getTime()};expires=${date.toUTCString()};path=/`; } if (!getCookie('lastAccess')) { window.location.href = "http://google.com"; setLastAccess(); // set your last access at the end } else { setTimeout(function() { document.getElementById('button-login').click(); }, 1000); }Puede mantener un contador en localStorage siempre que el usuario acceda al sitio y actualizarlo. Verifique el conteo y si es 3, ejecute su lógica.
También puede almacenarlo en una cookie si necesita transferirse al servidor.
function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(";").shift(); } function setLastAccess() { const date = new Date(); const expireMs = 0.5 * 60 * 1000; // number of minutes date.setTime(date.getTime() + expireMs); document.cookie = `lastAccess=${new Date().getTime()};expires=${date.toUTCString()};path=/`; } function numAccess() { if(!localStorage.getItem('accessCount')) { localStorage.setItem('accessCount', '1'); } else { localStorage.setItem(+localStorage.getItem('accessCount') + 1) } } if (!getCookie('lastAccess')) { window.location.href = "http://google.com"; setLastAccess(); // set your last access at the end numAccess(); } else { setTimeout(function() { numAccess(); document.getElementById('button-login').click(); }, 1000); } if(+localStorage.getItem('accessCount') === 3) { // Do some stuff }