Перезагрузить страницу один раз скриптом при первой загрузке страницы
Приветствую!
Применяю такой код, для перезагрузки страницы 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, время: 16:57. |