ubicar type script qué que por nuestro justo invoca forma externo etiqueta ejemplos desde debemos cierre bootstrap body attribute archivo antes javascript loops

javascript - type - Ejecuta código una vez al día



script type= text/javascript src= (3)

Me preguntaba si es posible tener un bucle javascript for que solo recorre el bucle una vez al día, es decir, ¿cuándo cambia la fecha?

for(i=0; i < myArray.length; i++){ alert(myArray[i]); }

Entonces, en el ciclo anterior, déjalo funcionar, y congélelo o algo hasta que los datos cambien, y haga otra iteración, y siga haciendo eso ... Ya sabe a qué me refiero.

¡Gracias por adelantado!


Si desea que algo suceda a intervalos predefinidos, puede establecer un tiempo de espera / intervalo: http://www.w3schools.com/js/js_timing.asp

Por ejemplo:

var dayInMilliseconds = 1000 * 60 * 60 * 24; setInterval(function() { alert("foo"); },dayInMilliseconds );

editar: dado que mencionó que el código se ejecutará en un navegador, se supone que el navegador se está ejecutando durante al menos 24 horas y no funcionará de lo contrario.


la mejor manera de lograrlo es creando una cookie que dure por 1 día. Incluso si después de la actualización de la página web o el navegador se cierra, la cuenta regresiva continuará.

setcookie($cookie_name, $cookie_value, time() + 86400, "/");

Esto significa 86400 = 1 día

Espero eso ayude


Usar localStorage es la mejor forma de hacerlo cuando no tienes un servidor, ya que el código de javascript podría reiniciarse (cerrando la pestaña y volviendo a abrir), perdiendo así el estado anterior.

El siguiente método es más a prueba de balas:

// checks if one day has passed. return "true" is so function hasOneDayPassed(){ var date = new Date().toLocaleDateString(); if( localStorage.yourapp_date == date ) return false; localStorage.yourapp_date = date; return true; } // some function which should run once a day function runOncePerDay(){ if( !hasOneDayPassed() ) return false; // your code below alert(''Good morning!''); } runOncePerDay(); // run the code runOncePerDay(); // does not run the code