La façon de le faire consiste à manipuler location.hash
lors de l'AJAX mises à jour suite à un changement d'état que vous aimeriez avoir un discret URL. Par exemple, si votre url de la page est:
http://example.com/
Si un client fonction côté exécuté ce code:
// AJAX code to display the "foo" state goes here.
location.hash = 'foo';
Ensuite, l'URL affichée dans le navigateur mis à jour à:
http://example.com/#foo
Cela permet aux utilisateurs de créer un signet de la "foo" l'état de la page, et l'utilisation de l'historique du navigateur pour naviguer entre les états.
Avec ce mécanisme mis en place, vous aurez alors besoin d'analyser le hachage partie de l'URL sur le côté client à l'aide de JavaScript pour créer et afficher la appropriée de l'état initial, comme des identificateurs de fragment (la partie après le #) ne sont pas envoyées au serveur.
Ben Alman du hashchange plugin fait de ce dernier un jeu d'enfant si vous êtes à l'aide de jQuery.