Как проверить, что мышь находится внутри страницы?
Задача такова:
звуковое оповещение при новом сообщении, но в случае, если пользователь итак сидит в чате (то есть мышь в теле документа), звуковое оповещение не нужно, как это реализовать? Почитал про mouseenter и т.д, но особо не понял, как мне вот это записать:
if (мышь находится в документе){
что-то делаю
}
else{
делаю что-то другое
}
Более логичным будет сделать какой-то период с момента последней активности. Если я уйду в другую комнату, оставив мышь в окне чата, я, скорее всего, хотел бы услышать оповещение.
Это решение не работает, если у меня поверх браузера открыто еще одно окно. Фактически, это проверка активности таба. Не знаю насколько автору вопроса это критично.
Сергей Титов: Я тестил события окна и документа - они срабатывали как-то очень нерегулярно. Если быстро мышь вывести за пределы экрана, то событие могло не сработать. Опять же, я в комментарии к вопросу написал, что такая проверка вообще не лучшая практика. Я могу курсор оставить в окне сайта, даже фокус на поле ввода могу оставить и уйти в другую комнату или просто отвернуться - пользователь должен сам решать, нужны ему уведомления или нет.