приведенные выше ответы указывают на ваше правильное направление, но для того, чтобы «перезагрузить страницу только один раз», вам нужен дополнительный ингредиент.вам нужен способ сохранить флаг, который указывает, была ли страница уже перезагружена или нет.
Допустим, вы следуете за кодом tradyblix.
Вы должны проверить этот флаг перед перезагрузкой вашей страницы:
if (hasReloaded() && $('#yourdiv').offset().top > ($(document).height() * percent)) {
reload();
}
где hasReloaded
- это функция, которая определяет, была ли страница перезагружена, и это может быть либо функция, которая отправляет ajax-запрос на сервер, который проверяет cookie или даже объект localStorage:
function hasReloaded(){
return !!localStorage['reloaded'];
}
Чтобы установить этот флаг, вашей функции reload
необходим доступ к localStorage (или ответу cookie или ajax-сервера):
function reload(){
localStorage['reloaded'] = true;
window.location.reload();
}
Это всего лишь эскизо том, как вы должны написать эту функциональность.