window.location.reload()

Такой вопрос: Есть у меня блок который на начале страницы идет display:none и так же есть кнопка которая стоит блоком, если я кликаю на кнопку то у меня открывается попап и если я кликну на сам попап то у меня должно перезапустить страницу через window.location.reload() и после показать первоначальный блок который был сначала когда зашёл на страницу display:none. Реально ли решить такую задачу?


Ответы (1 шт):

Автор решения: vbykovsky

ты можешь использовать localStorage для этого.

Тебе надо:

  1. При открытии попапа сохранить какой-нибудь флаг в localStorage, который бы говорил о том, что попап был открыт
  2. При загрузке страницы надо проверять есть ли этот флаг в localStorage и равен ли он true
  3. Если он равен true, то добавлять скрытому блоку display: block;

Примерно так:

// Эта функция должна вызываться при открытии попапа
const onPopupOpen = () => {
  localStorage.setItem("wasPopupOpened", "true");
  window.location.reload();
}

// Эта функция должна выполняться при загрузке страницы(например document.onload = onDocumentLoaded)
const onDocumentLoaded = () => {
  const wasPopupOpened = localStorage.getItem("wasPopupOpened");

  if(wasPopupOpened === "true"){
    document.querySelector("/** селектор скрытого блока */").style.display = "block";
  }
}
→ Ссылка