Double Possible:
Comment GitHub modifier l'URL mais pas la recharger?Salut les gens,
J'ai remarqué que Github.com ne pas forcer les utilisateurs à télécharger des pages web lorsque vous naviguez sur des référentiels, mais utilise AJAX pour actualiser le contenu de la page.
Github également de modifier la barre d'adresse du navigateur à l'adresse réelle représentant le contenu. Je n'ai aucune idée de comment mettre en œuvre cette si pas en utilisant les hashtags # dans l'url.
En bref: github utilise ajax pour charger de nouvelles pages web, sans utiliser les hashtags. Comment font-ils accomplir?
Des idées?
Réponses
Trop de publicités?En utilisant:
window.history.pushState("string", "Title", "newUrl");
C'est nouveau dans HTML 5.
Votre URL passera à newUrl sans recharger la page.
Remarque: l'argument title dans la méthode ne changera pas le titre de la page html. Ceci est utilisé pour nommer la page dans l'historique du navigateur, au cas où vous reviendriez en arrière puis avancer.
Jetez un œil à l' API de l'historique HTML5 . Si vous prévoyez de l'utiliser, obtenir une bibliothèque qui l'encapsule et peut-être même ajouter un repli aux hachages d'emplacement serait une bonne idée.
https://github.com/browserstate/history.js ne semble pas mal à première vue.