Comment GitHub change l’URL sans recharger une page?

Accédez à n’importe quelle page GitHub, cliquez sur l’un des répertoires / fichiers et observez comment l’URL change mais seule une partie de la page est mise à jour. Il n’y a pas de rechargement complet de la page.

Comment puis-je faire quelque chose de similaire en utilisant jQuery?

Est-ce que cela fonctionne sur la plupart des navigateurs (j’utilise Chrome)?

Ils utilisent l’ API de l’ historique , ou plus précisément, history.pushState() .

Vous pouvez l’utiliser, jQuery n’est pas obligatoire, mais il existe des plugins tels que history.js .

Cela fonctionne sur la plupart des navigateurs, à savoir Chrome, Safari et Firefox. IE10 et les versions ultérieures le supportent. Dans les anciens IE, vous pouvez utiliser le hash ( window.location.hash ).

GitHub a également écrit un blog à ce sujet .

Github utilise PJAX (Ref) . Vous pouvez voir à propos de jquery-pjax ici . Notez que cette fonctionnalité n’est pas prise en charge par tous les navigateurs. Certains navigateurs ne peuvent pas utiliser ces avantages.