Перезагрузить страницу один раз скриптом при первой загрузке страницы
Приветствую!
Применяю такой код, для перезагрузки страницы 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,
window.location.reload(true); |
рони,
Нет, это не работает, страница безконечно перезагружается раз, а нужно 1 раз. |
Вот такой вариант нашел в сети и он работает для меня:
/* 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 } |
Vaska,
if (!sessionStorage.getItem('reload')) { sessionStorage.setItem('reload', 1); window.location.reload(true); } |
рони,
Ошибся, не там посмотрел. |
Vaska,
:victory: |
рони,
Нет, страницу не перезагружает. |
Vaska,
открытая в новой вкладке страница, должна перезагрузится 1раз. |
Дело в том, что этот скрипт должен перезагружать страницу 1 раз, если устарел токен.
Один раз действительно страница перезагружается, но если на странице токен снова устарел и PHP код подсовывает ваш скрипт, чтобы снова перезагрузить страницу, то страница не перезагружается. Я сначала не понял этого, а потом проверил ещё раз и это обнаружилось. На одной странице несколько блоков, в которых подсовывается скрипт, чтобы перезагрузить страницу, если токен устарел. Эти блоки подгружает Ajax. |
Часовой пояс GMT +3, время: 19:56. |