Cookie pour retenir en mémoire l'avancement d'un timer

Fermé
Pascal29992 Messages postés 90 Date d'inscription lundi 6 novembre 2017 Statut Membre Dernière intervention 18 octobre 2022 - 2 janv. 2018 à 21:30
 PascalDEGUT - 12 janv. 2018 à 15:02
Bonjour,
J'utilise le timer ci-dessous, et j'aimerais que celui-ci conserve le décompte via un cookie afin qu'il ne se réinitialise pas systématiquement.
Ceci apparaît à la fin de mon code

Je suis assez nouveau avec l'intégration d'un cookie en javascript, mais il me semble l'avoir effectué correctement :

document.cookie = 'myClock='



Pourtant, dans l'état actuel des choses, mon timer se réinitialise systématiquement
Quelqu'un aurait-il une idée ?

Merci beaucoup par avance :)

<div id="clockdiv">
<span class="days"></span><div class="smalltext">jours</div>
<span class="hours"></span><div class="smalltext">hrs</div>
<span class="minutes"></span><div class="smalltext">mins</div>
<span class="seconds"></span><div class="smalltext">secs</div>
</div>

<script type="text/javascript">

function getTimeRemaining(endtime) {
  var t = Date.parse(endtime) - Date.parse(new Date());
  var seconds = Math.floor((t / 1000) % 60);
  var minutes = Math.floor((t / 1000 / 60) % 60);
  var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
  var days = Math.floor(t / (1000 * 60 * 60 * 24));
  return {
    'total': t,
    'days': days,
    'hours': hours,
    'minutes': minutes,
    'seconds': seconds
  };
}

function initializeClock(id, endtime) {
  var clock = document.getElementById(id);
  var daysSpan = clock.querySelector('.days');
  var hoursSpan = clock.querySelector('.hours');
  var minutesSpan = clock.querySelector('.minutes');
  var secondsSpan = clock.querySelector('.seconds');

  function updateClock() {
    var t = getTimeRemaining(endtime);

    daysSpan.innerHTML = t.days;
    hoursSpan.innerHTML = ('0' + t.hours).slice(-2);
    minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
    secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);

    if (t.total <= 0) {
      clearInterval(timeinterval);
    }
  }

  updateClock();
  var timeinterval = setInterval(updateClock, 1000);
}
var currentTime = Date.parse(new Date());
if(document.cookie && document.cookie.match('myClock')){
  var deadline = document.cookie.match(/(^|;)myClock=([^;]+)/)[2];
}
else{
var timeInHours = 12;
var timeInMinutes = 4;
var timeInSeconds = 26;
var currentTime = Date.parse(new Date());
var deadline = new Date(currentTime + timeInHours*60*60*1000 + timeInMinutes*60*1000 +  timeInSeconds*1000);
  document.cookie = 'myClock=' + deadline + '; path=/; domain= .https://www.tresor-ethnique.com/';
initializeClock('clockdiv', deadline);
}
</script>




A voir également:

1 réponse

Pas d'idée ?
0