Garder Un Display Block Lorsqu'on Change De Page En Javascript

Salut! Assieds-toi, prends un café. On va parler d'un truc qui arrive souvent en programmation web. Tu as déjà eu ce problème, hein? Tu affiches un élément, un div super important, avec display: block;. Et puis... BAM! Tu changes de page et il disparaît. Frustrant, n'est-ce pas?

Le problème, c'est que chaque page web est un nouveau chargement, une nouvelle instance. Javascript repart à zéro. Donc, comment faire pour garder ce div affiché lorsqu'on change de page? C'est ce qu'on va explorer ensemble.

La Solution Magique: Local Storage

La solution la plus simple et la plus courante, c'est d'utiliser local storage. C'est comme un petit coffre-fort que ton navigateur met à disposition pour stocker des informations. Des informations que tu peux récupérer, même après avoir fermé la page, voire même après avoir redémarré ton navigateur (sous certaines conditions, bien sûr!).

Comment ça marche concrètement? Imagine que ton div, tu l'appelles "monDiv". Avant de changer de page, tu vas stocker un indicateur, par exemple "visible", dans le local storage.

Voici un petit exemple en Javascript:

L'affichage avec la propriété CSS display
L'affichage avec la propriété CSS display

// Au moment où tu affiches ton div
document.getElementById("monDiv").style.display = "block";
localStorage.setItem("monDivVisible", "true");

// Au chargement de la page suivante
window.onload = function() {
  if (localStorage.getItem("monDivVisible") === "true") {
    document.getElementById("monDiv").style.display = "block";
  } else {
    document.getElementById("monDiv").style.display = "none"; // Ou autre chose
  }
};

Tu vois? On stocke "true" quand on affiche le div. Au chargement de la page suivante, on vérifie si "monDivVisible" est à "true". Si oui, on affiche le div. Sinon, on le cache. Simple, efficace. Non?

Les Cookies: Une Alternative Gourmande

Bon, le local storage, c'est bien. Mais il y a une autre option: les cookies. C'est un peu plus ancien, mais ça marche aussi.

Un cookie, c'est un petit fichier texte que le serveur (ou ton Javascript) envoie au navigateur. Le navigateur le stocke, et le renvoie au serveur à chaque requête. C'est comme une carte de fidélité pour ton site web!

L'affichage avec la propriété CSS display
L'affichage avec la propriété CSS display

La différence principale avec le local storage, c'est que les cookies ont une taille limitée et peuvent être configurés pour expirer après un certain temps. De plus, ils sont envoyés au serveur à chaque requête, ce qui peut légèrement ralentir les choses. Donc, pour stocker juste un indicateur de visibilité, le local storage est souvent préférable.

Le Secret du Session Storage

Et si tu veux que l'état de ton div ne soit conservé que pendant la durée de la session de navigation (c'est-à-dire tant que l'utilisateur n'a pas fermé son navigateur)? Alors, tu peux utiliser le session storage. C'est très similaire au local storage, mais les données sont effacées lorsque l'utilisateur ferme son navigateur.

How to Display Date and Time on Web Page using JavaScript- JavaScript
How to Display Date and Time on Web Page using JavaScript- JavaScript

Et Le Backend, Alors?

Bien sûr, si tu as un backend (un serveur qui gère les données), tu peux aussi stocker l'état de ton div côté serveur. Par exemple, dans une base de données associée à l'utilisateur. C'est plus complexe, car il faut gérer l'authentification de l'utilisateur et les requêtes vers le serveur. Mais c'est une solution plus robuste si tu as besoin de conserver l'état du div même si l'utilisateur change d'ordinateur.

Finalement, la meilleure solution dépend de tes besoins spécifiques. Si tu as juste besoin de conserver l'état du div pendant la session de navigation, le session storage est parfait. Si tu as besoin de le conserver plus longtemps, le local storage est une bonne option. Et si tu as besoin de le conserver même si l'utilisateur change d'ordinateur, il faut passer par le backend.

Alors, tu vois? Il y a plein de façons de garder ton display: block; en place! Choisis celle qui te convient le mieux et amuse-toi bien. C'est ça, la programmation web: trouver la solution qui te fait sourire!