35 votes

Comment changer la barre d'adresse du navigateur sans recharger la page - HTML / Javascript

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?

47voto

euphoria83 Points 3678

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.

10voto

ThiefMaster Points 135805

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X