@m325

Как сделать запоминание действия пользователя между страницами?

Коллеги, поправьте меня если не правильно задал вопрос...
Суть, такая:
Есть всплывающие сообщение в шапке сайта с селектором close.

$(".close").on("click",function(){
    $(".message").fadeOut('slow');
});


По нажатию исчезает, но при каждом обновление страницы занового появляется сообщение.
Вопрос: Как сделать, чтобы клик по селектору закешировался. Чтобы у человека, который нажал кнопку, не появлось cообщение на последующих страницах?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 6
L0k1
@L0k1
cookie, localStorage, sessionStorage не?
Ответ написан
Комментировать
@dixoNich
frontend developer
Сохранить метку в сессию или локальное хранилище о том, что уже открывали.
И потом if (!localStorage.getItem('isOpen')) { open menu }
Ответ написан
Комментировать
@Inwork277
Либо cookie, либо localstorage. Храните там что-то вроде popup_shown = true/false. При загрузке страницы проверяете его значение и выводите/скрываете Ваше сообщение. При нажатии изменяете на false.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Всё зависит от того, что за сообщение вы выводите. Если оно одинаково всегда и для всех (например, уведомление о плановых технических работах), тогда действительно можно ставить флаг на клиенте.
А если вы там выводите разовые сообщения ("изменения сохранены", "вы зарегистрированы" и т.п.), то нужно разбираться с серверной частью - почему она выводит неактуальные сообщения.
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
К черту полумеры! Берём либу Mozilla LocalForage!
Ответ написан
Ivanq
@Ivanq
Знаю php, js, html, css
localStorage, localForage, cookies
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
13 мая 2024, в 09:17
30000 руб./за проект
13 мая 2024, в 08:55
500 руб./за проект
13 мая 2024, в 08:24
30000 руб./за проект