Пример реализации на JavaScript:
| Код |
|---|
<script>
if (localStorage.getItem("reload") === "false") {
localStorage.removeItem("reload");
} else {
localStorage.setItem("reload", "false");
window.location = window.location;
}
</script> |
Проверяем, есть ли в localStorage элемент с ключом reload, который равен "false". Если да, значит страница уже обновлялась, и мы удаляем этот элемент.
Если такой элемент не найден, добавляем его в localStorage со значением "false" и обновляем текущую страницу.
Таким образом, после перезагрузки страницы скрипт не будет повторно выполнять обновление, так как значение "reload" уже установлено в "false".
Вариант на PHP:
Для реализации аналогичной функциональности на PHP можно использовать сессии. При этом запрос на обновление будет выполнен только один раз после загрузки страницы.
| Код |
|---|
<?php
session_start();
if (!isset($_SESSION['reloaded'])) {
$_SESSION['reloaded'] = true;
header("Location: " . $_SERVER['REQUEST_URI']);
exit();
}
?> |
Мы используем сессию для хранения информации о том, перезагружалась ли страница.
Если переменная сессии reloaded не установлена, мы устанавливаем её в true и выполняем перенаправление на тот же URL с помощью функции header().
После перезагрузки переменная reloaded будет уже установлена, и обновление страницы больше не произойдет.