Les gars, j'ai trouvé que JQuery n'a qu'un seul effet: la page est rechargée lorsque le bouton de retour est enfoncé. Cela n'a rien à voir avec « prêt ».
Comment cela marche-t-il? Eh bien, JQuery ajoute un écouteur d' événement onunload .
// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...
Par défaut, il ne fait rien. Mais d'une manière ou d'une autre, cela semble déclencher un rechargement dans Safari, Opera et Mozilla - quel que soit le contenu du gestionnaire d'événements.
[ modifier (Nickolay) : voici pourquoi cela fonctionne de cette façon: webkit.org , developer.mozilla.org . Veuillez lire ces articles (ou mon résumé dans une réponse distincte ci-dessous) et déterminer si vous avez vraiment besoin de le faire et ralentir le chargement de votre page pour vos utilisateurs.]
Tu ne peux pas y croire? Essaye ça:
<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 voudrez peut-être comparer à celui-ci sans téléchargement
<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>