Compteur perpétuel dans la même session Web

Nov 10 2020

Essayer d'avoir un compteur sur une page Web qui ne redémarre pas sur chaque vue de page différente dans la même session utilisateur. Utilisant actuellement ce code ( merci à Praveen Kumar Purushothaman) mais ce compteur se réinitialise à chaque fois qu'une page différente est consultée.

setTimeout(start, 0);
var i = 0;
var num = document.getElementById("number");

function start() {
  increase();
  setInterval(increase, 1000);
}

function increase() {
  if (i < 100000) {
    i += 10.41;
    num.innerText = i.toFixed(2);
  }
}
<span id="number"></span>

Réponses

PraveenKumarPurushothaman Nov 10 2020 at 21:26

Ma suggestion est de stocker la variable dans le stockage de session. J'ai ajouté plus de détails dans les commentaires:

setTimeout(start, 0);
// You're saving your current value here.
// Let's use localStorage. Set the i value if it doesn't exist for the first time.
if (!localStorage.getItem("i")) {
  localStorage.setItem("i", 0);
}
var num = document.getElementById("number");

function start() {
  increase();
  setInterval(increase, 1000);
}

function increase() {
  var i = localStorage.getItem("i");
  if (i < 100000) {
    i += 10.41;
    // When you're making any changes, make changes to the localStorage too.
    localStorage.setItem("i", i);
    num.innerText = i.toFixed(2);
  }
}