[RESOLU] Rafraîchir une page à un jour & une heure précise, et une seule fois.

Petit nouveau ! | 2 Messages

24 nov. 2020, 13:28

Bonjour,

Je dois rafraîchir une page un jour précis et à une heure précise.
J'ai le script ci dessous qui fonctionne pour la partie heure, mais le soucis c'est qu'à partir de l'heure en question la page s'actualise toutes les X secondes par rapport à ce bout de code je pense
}, 5000 );
:?: La première question est donc, comment faire pour que la page s'actualise une seule fois ?
:?: La deuxième question est, comme rajouter une date précise en plus de l'heure ?

Merci d'avance pour vos futures réponses,
Magnum!
  <script>
    'use strict';
        
    document.addEventListener( 'DOMContentLoaded', ev => {
      
      
    }, false );
    
    window.addEventListener( 'load', ev => {
      
      window.setInterval( () => {
        const now = new Date();
        
        if ( now.getHours() == 20 && now.getMinutes() == 15 && now.getSeconds() >= 0 ){
           window.location.reload( true );
        }
      }, 5000 ); 
 
    }, false );
  </script>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

24 nov. 2020, 15:58

Ma préconisation c'est de calculer la différence entre la date/heure courante et la date/heure à laquelle tu veux déclencher ton évènement.
:arrow: Ça va te donner le nombre de secondes que tu dois attendre avant de déclencher ton appel javascript.

Du coup, tu peux utiliser la fonction setTimeout() pour exécuter le rafraichissement au bout de X secondes
https://developer.mozilla.org/fr/docs/W ... setTimeout

:!: Note : Au cas où le rechargement durerait moins d'une seconde, il y a un risque que tu sois toujours dans la même seconde où tu dois recharger ta page, du coup je serais toi j'ajouterai 1 seconde en plus dans le setTimeout() pour être sûr de ne pas tomber dans ce cas.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

24 nov. 2020, 16:51

Ma préconisation c'est de calculer la différence entre la date/heure courante et la date/heure à laquelle tu veux déclencher ton évènement.
:arrow: Ça va te donner le nombre de secondes que tu dois attendre avant de déclencher ton appel javascript.

Et du coup, tu peux utiliser la fonction setTimeout() pour exécuter le rafraichissement au bout de X secondes
https://developer.mozilla.org/fr/docs/W ... setTimeout
Merci @rthur, j'ai trouvé ce qu'il me faut sur ton lien! :D :D