Пример реализации на 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 будет уже установлена, и обновление страницы больше не произойдет.