Хлопці, я виявив, що JQuery має лише один ефект: сторінка перезавантажується при натисканні кнопки "Назад". Це не має нічого спільного з " готовими ".
Як це працює? Ну, JQuery додає OnUnload слухача подій.
// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...
За замовчуванням він нічого не робить. Але якось це, здається, викликає перезавантаження в Safari, Opera та Mozilla - незалежно від того, що містить обробник подій.
[ редагувати (Ніколай) : ось чому це працює так: webkit.org , developer.mozilla.org . Будь ласка, прочитайте ці статті (або моє резюме в окремій відповіді нижче) і подумайте, чи дійсно вам потрібно це зробити і зробити вашу сторінку повільнішою для завантаження користувачів.]
Не можете повірити? Спробуйте це:
<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>
Ви побачите подібні результати при використанні JQuery.
Ви можете порівняти цей без 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>