onbeforeunload - Blocks Caching?
Wednesday, April 25th, 2007Here’s one I hadn’t seen, via Ajaxian:
window.onbeforeunload = function () { // This fucntion does nothing. // It won't spawn a // confirmation dialog // but it will ensure that // the page is not cached // by the browser. }
Just having an unbeforeunload event handler — regardless of whether or not it actually does anything, regardless of whether or not you spawn a dialog box or not, even if the entire function declaration consists entirely of just { } — just defining an event handler will prevent the page from being cached — ever. As a matter of fact, even if you allow page caching, the page will be not be cached. Having an onbeforeunload event means the page will be re-built every single time it is accessed. Javascripts will re-run, server-side scripts will be re-run, the page will be built as if the user was hitting it for the very first time, even if the user got to the page just by hitting the back or forward button.
technorati tags:javascript, caching, ajaxian