Comment faire pour qu'une variable JS ne perd pas sa valeur

Pour toutes les discussions javascript, jQuery et autres frameworks
JulienR84
Messages : 37
Enregistré le : 16 sept. 2025, 16:14

Re: Comment faire pour qu'une variable JS ne perd pas sa valeur

Message par JulienR84 » Hier, 21:36

Le problème vient du fait que chaque page HTML est chargée indépendamment.

Quand tu passes d'un fichier HTML à un autre, le navigateur recharge une nouvelle page. Toutes les variables JavaScript déclarées dans cette page (comme var Score = 0) sont recréées, donc Score repart à 0.

Pour conserver le score entre plusieurs pages, tu as plusieurs possibilités :
  • localStorage
(la plus simple pour un quiz multipage) :

Code : Tout sélectionner


// Initialisation
let score = Number(localStorage.getItem("score")) || 0;

// Bonne réponse
score++;
localStorage.setItem("score", score);

// À la fin du quiz
localStorage.removeItem("score");

  • sessionStorage
: fonctionne de la même manière, mais les données sont supprimées lorsque l'onglet est fermé.
  • Les cookies
: possible également, mais aujourd'hui `localStorage` ou `sessionStorage` sont généralement plus adaptés à ce type de besoin.
  • Regrouper toutes les questions dans une seule page
et afficher/masquer les questions avec JavaScript, ce qui évite le rechargement de la page.

Dans ton cas, si chaque question est dans un fichier HTML différent, localStorage ou sessionStorage est probablement la solution la plus simple.

Répondre