Pessoal, descobri que o JQuery tem apenas um efeito: a página é recarregada quando o botão Voltar é pressionado. Isso não tem nada a ver com " pronto ".
Como é que isso funciona? Bem, o JQuery adiciona um ouvinte de evento onunload .
// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...
Por padrão, ele não faz nada. Mas de alguma forma isso parece desencadear uma recarga no Safari, Opera e Mozilla - não importa o que o manipulador de eventos contenha.
[ edit (Nickolay) : eis por que funciona dessa maneira: webkit.org , developer.mozilla.org . Leia esses artigos (ou meu resumo em uma resposta separada abaixo) e considere se você realmente precisa fazer isso e tornar sua página mais lenta para os usuários.]
Não pode acreditar? Tente o seguinte:
<body onunload=""><!-- This does the trick -->
<script type="text/javascript">
alert('first load / reload');
window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>
Você verá resultados semelhantes ao usar o JQuery.
Você pode comparar com este sem onunload
<body><!-- Will not reload on back button -->
<script type="text/javascript">
alert('first load / reload');
window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>