There's no practical way to achieve this. At some point you would have to preload all of the resources (html, images, stylesheets, scripts, etc.) for any page you wanted to make available in this manner. So even if you have some very clever code to avoid some unnecessary preloading and do this all only after the current page has fully loaded, unless the user spent enough time perusing the current page to allow all of those resources to be preloaded, there will still be some delay while the balance of those resources is loaded by the browser. I think you'd be much better off just doing whatever you can to make your pages naturally load faster. There's lots of information on this topic online to help you.