Faire fonctionner le bouton Retour du navigateur tout en utilisant les requêtes AJAX

J'écris une application Web qui récupère beaucoup de données en utilisant AJAX qui modifie substantiellement la page chargée en fonction du bouton sur lequel l'utilisateur a cliqué (disons que le fait de cliquer sur le bouton 1 prend la page de l'état 0 à l'état1 et ainsi de suite …)

En outre, si le numéro de bouton est transmis au serveur en tant que variable GET, le serveur renvoie la page dans l'état correct.

Inutile de dire que les boutons du navigateur vers l'arrière / vers l'avant ne fonctionnent pas car l'URL n'est pas modifiée pendant les changements d'état réalisés via AJAX.

Donc, ma question est de savoir comment faire fonctionner les boutons aller / retour du navigateur?

Est-il possible de fournir au navigateur l'URL correcte chaque fois que l'état change; Mais arrêtez-vous la recharge de la page?

Veuillez noter que cette question concerne uniquement les boutons de retour / renvoi du navigateur. Je peux créer des boutons arrière / avant personnalisés mais ce n'est pas ce que je veux faire.

Prenez le temps de passer par certains . De . Le . Précédent . Questions . Sur . Ceci . Sujet .

Astuce: utilisez le hash man! ( window.location.hash that is)

Vous devrez utiliser # capacités de votre URL pour stocker vos requêtes Ajax intermédiaires dans l'historique du navigateur. Si vous utilisez une bibliothèque Javascript, il y aura probablement une solution dans la bibliothèque elle-même ou sous la forme d'une extension / plugin communautaire.

Par exemple, il existe un plugin pour jQuery ici .

Google pour l' historique du navigateur ajax