<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

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

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Событие неактивности пользователя в JavaScript

Событие неактивности пользователя в JavaScript

Иногда бывает нужно определить активен пользователь на странице или нет. Например, если у Вас на сайте есть чат, то глупо обновлять его, например, каждые 5 секунд, нагружая сервер, если пользователь ушёл в магазин, а сайт не закрыл, или же перешёл на другую вкладку. В этой статье мы поговорим, как можно определить активность пользователя на странице.

Оптимальным решением было бы определять активность вкладки с нашим сайтом. То есть если открыта вкладка с нашим сайтом, то пользователь активен, иначе нет. Однако, нормального инструмента для реализации подобного в JavaScript нет. Вдобавок, это не защищает от походов в магазин.

Поэтому мы разберём универсальный метод по выяснению активности пользователя на JavaScript. Его особенностью является то, что если пользователь отлучится от компьютера, оставив даже открытым наш сайт, всё равно он будет признан неактивным, что очень хорошо. Многие из Вас уже, наверняка, догадались, что основной инструмент определения активности пользователя - это движение мышью.

Если мышь двигается, значит, пользователь активен, а если она определённое время не двигается, значит, пользователь не активен, или перешёл уже давно на другую вкладку.

Реализация этого алгоритма приведена в следующем коде:

<script type="text/javascript">
  var no_active_delay = 30; // Количество секунд простоя мыши, при котором пользователь считается неактивным
  var now_no_active = 0; // Текущее количество секунд простоя мыши
  setInterval("now_no_active++;", 1000); // Каждую секунду увеличиваем количество секунд простоя мыши
  setInterval("updateChat()", 1000); // Запускаем функцию updateChat() через определённый интервал
  document.onmousemove = activeUser; // Ставим обработчик на движение курсора мыши
  function activeUser() {
    now_no_active = 0; // Обнуляем счётчик простоя секунд
  }
  function updateChat() {
    if (now_no_active >= no_active_delay) { // Проверяем не превышен ли "предел активности" пользователя
      alert("Пользователь не активен"); // В реальности стоит убрать, а здесь дано как доказательство того, что всё работает
      return;
    }
    /* Обновляем чат */
  }
</script>

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

Однако, у этого способа имеется один большой недостаток. Ведь пользователь необязательно будет двигать мышью - он может элементарно читать текст или смотреть видео, или же ждать ответа в чате (чего он не увидит, если к мыши не прикоснётся). Исходя из этого не стоит выбирать слишком маленький "предел активности" пользователя. Лично я ставлю 30 секунд, хотя зависит всё от Вашего сайта, возможно, стоит поставить и 120 секунд или даже больше. А, возможно, у Вас такой мощный сервер или такая низкая посещаемость, что и вовсе не нужно вычислять активен пользователь или нет.

Вот такое необычное событие неактивности пользователя в JavaScript можно сделать самостоятельно.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

loginxxx loginxxx 25.09.2013 16:05:13

Спасибо!

Ответить

dsmts dsmts 26.09.2013 20:01:50

А как данный скрипт будет работать на планшетах и смартфонах?

Ответить

Admin Admin 01.10.2013 21:23:07

Не тестировал.

Ответить

kakaha kakaha 04.08.2015 06:57:39

как сделать переход на сайт вместо алерта и добавить исключение домена где не будет работать таймер

Ответить

samvel29 samvel29 24.03.2019 18:47:03

ок, получили мы событие при неактивности пользователя, а если он потом пришел из магазина и поводил мышкой? Чтобы реализовать это в контексте чата этого кода маловато будет.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.