Tutoriel Vidéo JavaScript Gérer l'historique avec history.pushState()

Télécharger la vidéo Télécharger les sources

Une des nouveautés apportées par l'HTML5 est l'apparition d'une API Javascript permettant de manipuler l'historique de navigation de l'utilisateur en javascript. 

Jusqu'à maintenant lorsque l'on créait un site utilisant de l'AJAX on était obligé de modifier le location.hash du navigateur pour avoir un semblant d'historique. Le principal inconvénient de cette méthode c'est que l'on se retrouvait avec des URL différentes entre une navigation Javascript et non javascript : 

Avec l'HTML5 et history.*pushState() *il est maintenant possible de modifier à la volée l'URL se situant après le domaine pour simuler une navigation "classique". Cette fonction est disponible sur la plupart des navigateurs modernes (sauf le vilain petit canard Internet explorer, la fonction apparaîtra dans IE10 si tout va bien) mais un fallback est possible grâce à l'utilisation des hash (une librairie clef en main permet de gérer ce switch : history.js).