Simple example on how to make History.JS work with dynamically loaded pages.
Show route page only after Ajax request is complete for single or dynamic routes
Append a loading gif image to your screen while AJAX is fetching data
Loading a custom style sheet before Woocommerce style sheet
Lazy Load is delays loading of images in long web pages. Images outside of viewport are not loaded until user scrolls to them.