Задать вопрос
@toorr2p
https://github.com/Cleverscript

Запись в cookie или localStorage только при открытии страницы?

Здравствуйте, как можно сделать условие что бы писать в cookie или localStorage только при открытии страницы, но не при ее обновлении? Нужно сделать счетчик что пользователь зашел на сайт N кол-во раз, и показать ему PopUp.

такой код счетчик увеличивает даже при F5 (при чем сразу до 11 почему то...)

const pwaVisitStorage = window.localStorage.getItem('pwaVisit');
    if (pwaVisitStorage < 3) {
        //set the session param
        window.localStorage.setItem('pwaVisit', (pwaVisitStorage+1));
    } else {
        alert('Visit number: ' + window.localStorage.getItem('pwaVisit') );
    }
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@toorr2p Автор вопроса
https://github.com/Cleverscript
Своял решение по подсказанному здесь сценарию Как сделать счетчик посещений?, пользуйтесь JavaScript счетчик посещений сайта пользователем
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
С точки зрения браузера открытие страницы ничем не отличается от её обновления.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Определите для себя критерии "зашёл на сайт" и используйте их.
Но ничего лучше, чем "перестаём засчитывать заход на N минут после регистрации" придумать (и уж тем более реализовать), скорее всего, не выйдет.

Отделить само по себе открытие страницы от обновления нельзя, но можно смотреть в document.referrer - если там ваш сайт, то это обновление. Однако, это не слишком надёжное поле. Нет, document.referrer по F5 не меняется.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы