Les gars, j'ai trouvé que JQuery n'a qu'un seul effet: la page est rechargée lorsque le dos est enfoncé. Cela n'a rien à voir avec le "prêt".
Comment cela fonctionne? Eh bien, JQuery ajoute un onunload écouteur d'événement.
// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...
Par défaut, il ne fait rien. Mais de toute façon ce qui semble déclencher une recharge de Safari, Opera et Mozilla, peu importe ce que le gestionnaire d'événement contient.
[modifier(Nickolay): voici pourquoi il fonctionne de cette manière: webkit.org, developer.mozilla.org. Veuillez lire ces articles (ou un résumé dans une autre réponse ci-dessous) et de déterminer si vous avez vraiment besoin de faire cela et de faire votre page de chargement plus lent pour vos utilisateurs.]
Ne peux pas le croire? Essayez ceci:
<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>
Vous verrez des résultats similaires lors de l'utilisation de JQuery.
Vous pouvez comparer à celui-ci sans 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>