smoothState.js
smoothState.js is a jQuery plugin that progressively enhances page loads to give us control over page transitions. If the user’s browser doesn’t have the required features, smoothState.js fades into the background and never runs.
I’ve often looked at the pushState() method, but I’ve always shied away from using it as it seemed fiddly and prone to breaking. This jQuery plugin looks pretty good though, so I might actually give it a try.