Меню

Обновить страницу один раз, сразу после ее загрузки на JS и PHP

RSS
Обновить страницу один раз, сразу после ее загрузки на JS и PHP, Единоразовое обновление страницы после ее загрузки на JS и PHP
 
Иногда требуется обновить страницу один раз сразу после ее загрузки. Это может пригодиться в различных ситуациях, например, для выполнения перерасчета, обновления данных, подтягивания новой информации с сервера и так далее. Для этого можно использовать JavaScript, который запоминает, была ли уже обновлена страница, и при необходимости перезагружает ее.

Пример реализации на 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 будет уже установлена, и обновление страницы больше не произойдет.
Изменено: Михаил Базаров - 24.09.2024 09:35:32
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

Блог-note: заметки разработчика

Добавление не существующего товара в корзину и заказ, 1С-Битрикс

Задача: нужно добавить в корзину товар, которого не существует в каталоге, с возможностью задать ему произвольные назван...

Настройка прав доступа в 1С-Битрикс

Часто, в интернет-магазине под управлением 1С Битрикс, нужно создать группу пользователей со специфическими правами. Нап...

Fancybox в стандартном шаблоне детальной карточки товара, 1С-Битрикс, вместо всплывающего окна и лупы.

Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element)...

Смена вида карточек товаров в catalog.section с иммитацией AJAX

Смену вида карточек товаров, в разделе каталога, можно реализовать с помощью сессии, записывая в нее нужный вида шаблона...

Заполнить поля пользователя из свойства заказа, на примере ФИО

При создании заказа покупатель заполняет поле "ФИО". Необходимо скопировать эти данные в профиль пользователя (не путать...

Проверка на наличие элементов, текущего пользователя, в заданном инфоблоке.

Если стоит задача, определить наличие элементов созданных пользователем на сайте. Можно воспользоваться API: CUser и CIB...

Подключение jquery из ядра битрикс и объединение своих скриптов в один файл

Если используете большое количество js скриптов на сайте. Например: фансибокс, всяческие галереи и прочее- то таких внеш...

Time Capsule на Windows 10. Хранение бекапов Time Machine на компьютере с Windows 10

Заметку написал скорее для себя, что бы собрать все в одну кучу. Написана на базе нескольких разрозненных, по интернету,...

Обновление цен и остатков из текстового файла, в каталоге 1C-Битрикс.

Задача: прочитать txt-файл с ценами и остатками, который выгружает программа учета по FTP, и обновить эти данные в катал...