Показывать экран загрузки только один раз за сеанс - PullRequest
0 голосов
/ 18 июня 2020

Я создаю «псевдозагрузочный экран», который будет отображать полный div страницы над домашней страницей после открытия страницы и исчезнет через несколько секунд.

Мне нужно выяснить, как запретить отображение этого экрана загрузки после того, как пользователь перешел на другую страницу сайта, а затем вернулся на домашнюю страницу (либо с помощью кнопки «Назад», либо с помощью ссылки привязки назад домой).

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

(Также было бы идеально, если бы загрузка экран был скрыт при обновлении домашней страницы и если экран загрузки появлялся, если пользователь начинает свой сеанс на странице, отличной от домашней страницы)

Я думаю, что это будет достигнуто с помощью localStorage, но я новинка в JS, так что любые предложения о том, как заставить это работать, были бы замечательными!

1 Ответ

0 голосов
/ 18 июня 2020

Для ваших целей вы можете использовать свойство sessionStorage объекта window. После отображения экрана загрузки вы можете сохранить эту информацию в sessionStorage. Например:

sessionStorage.setItem('shown', true);

И когда страница отображается, вы можете проверить, был ли показан экран загрузки:

if (!sessionStorage.getItem('shown')) showScreen();

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

...