Как определить, активна ли вкладка у пользователя?
— 1 минута
Если вам нужно узнать, активна ли вкладка в браузере у пользователя, существует несколько простых методов для этого
Во-первых, у объекта document есть свойство hidden, которое указывает открыта ли вкладка на экране пользователя в конкретный момент времени:
javascript1// если true, значит вкладка работает в фоне 2document.hidden // true 3 4// вкладка открыта на весь экран 5document.hidden // false 6
Это может быть полезно для определения состояния в моменте, хотя пригождается достаточно редко
Чаще всего используется второй способ, а именно отслеживание события visibilitychange:
javascript1document.addEventListener("visibilitychange", function() { 2 if (document.hidden) { 3 console.log("Вкладка неактивна") 4 } else { 5 console.log("Вкладка активна") 6 } 7}) 8 9
Тут мы отслеживанием фокус вкладки и выполняем какие-то действия на уже при изменении состояния. Особенно полезен такой способ будет где нибудь в React и прочих либах
Зачем это можно использовать? Да абсолютное множество применений:
- дополнительно сохранять данные на закрытие вкладки
- выключать аудио/видео при скрытии вкладки
- сбор аналитики
- и куча всего ещё
Статья была полезной?
Читайте также:
— 2 минуты
Как реагировать на изменения объекта
В JavaScript обычные объекты не умеют уведомлять о своих изменениях, однако...
— 2 минуты
Что такое Server-Sent Events
SSE — это технология для однонаправленного соединения между сервером и клие...
— 4 минуты
Связываем React и localStorage через useSyncExternalStore
Как согласовать изменение состояния в реакте и поля в localStorage? До нед...