Chicos, descubrí que JQuery solo tiene un efecto: la página se vuelve a cargar cuando se presiona el botón Atrás. Esto no tiene nada que ver con " listo ".
¿Como funciona esto? Bueno, JQuery agrega un detector de eventos de descarga .
// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...
Por defecto, no hace nada. Pero de alguna manera esto parece desencadenar una recarga en Safari, Opera y Mozilla, sin importar lo que contenga el controlador de eventos.
[ editar (Nickolay) : he aquí por qué funciona de esa manera: webkit.org , developer.mozilla.org . Lea esos artículos (o mi resumen en una respuesta separada a continuación) y considere si realmente necesita hacer esto y hacer que su página se cargue más lentamente para sus usuarios.]
No lo puedo creer? Prueba esto:
<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>
Verá resultados similares cuando use JQuery.
Es posible que desee comparar a este sin descargar
<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>