Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2022, 19:34
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

Перезагрузить страницу один раз скриптом при первой загрузке страницы
Приветствую!
Применяю такой код, для перезагрузки страницы 1 раз, после первой загрузки страницы в браузере.
if (window.location.href.indexOf("reload")==-1) {
		window.location.replace(window.location.href+"?reload");
	}

Однако, этот код, добавляя в адресную строку ?reload, мешает выполнению поискового запроса, по ключевому слову, на странице поиска, делая поиск ошибочным.
https://mysite.com/Search/index.html?keyword=apple?reload


Можете предложить другой код, который не имеет такого недостатка?

Заранее, спасибо.

Последний раз редактировалось Vaska, 18.04.2022 в 19:38.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2022, 19:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Vaska,
window.location.reload(true);
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2022, 20:08
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

рони,
Нет, это не работает, страница безконечно перезагружается раз, а нужно 1 раз.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2022, 20:27
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

Вот такой вариант нашел в сети и он работает для меня:
/* if my var reload isn't set locally.. in the first time it will be true */
if (!localStorage.getItem("reload")) {
    /* set reload locally and then reload the page */
    localStorage.setItem("reload", "true");
    location.reload();
}
/* after reload clear the localStorage */
else {
    localStorage.removeItem("reload");
    // localStorage.clear(); // an option
}
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2022, 20:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Vaska,
if (!sessionStorage.getItem('reload')) {
        sessionStorage.setItem('reload', 1);
        window.location.reload(true);
    }
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2022, 20:44
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

рони,
Ошибся, не там посмотрел.

Последний раз редактировалось Vaska, 18.04.2022 в 20:49.
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2022, 20:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Vaska,
Ответить с цитированием
  #8 (permalink)  
Старый 18.04.2022, 20:49
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

рони,
Нет, страницу не перезагружает.
Ответить с цитированием
  #9 (permalink)  
Старый 18.04.2022, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Vaska,
открытая в новой вкладке страница, должна перезагрузится 1раз.
Ответить с цитированием
  #10 (permalink)  
Старый 18.04.2022, 21:05
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

Дело в том, что этот скрипт должен перезагружать страницу 1 раз, если устарел токен.
Один раз действительно страница перезагружается, но если на странице токен снова устарел и PHP код подсовывает ваш скрипт, чтобы снова перезагрузить страницу, то страница не перезагружается.
Я сначала не понял этого, а потом проверил ещё раз и это обнаружилось.

На одной странице несколько блоков, в которых подсовывается скрипт, чтобы перезагрузить страницу, если токен устарел. Эти блоки подгружает Ajax.

Последний раз редактировалось Vaska, 18.04.2022 в 21:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тег video не срабатывает при первой загрузке страницы Igorsrt Элементы интерфейса 2 22.09.2018 11:27
Остановить гиф-анимацию при загрузке страницы Quark_ Javascript под браузер 1 01.09.2016 00:20
запуск анонимной функции при загрузке страницы golden_yuna Общие вопросы Javascript 10 16.04.2016 20:42
Задать координаты положения курсора, при загрузке страницы. Blondinka Events/DOM/Window 1 20.02.2016 04:22
Автоматический вызов функции при загрузке страницы DVMade Элементы интерфейса 2 02.03.2015 21:25