На сайте есть квест, в рандомное время появляется попап, и кто первый кликнет получает приз Но некоторые люди использую через консоль поиск элемента и click(), можно ли как-то это предотвратить, а учитывать только клик именно мышкой?
Да. такое возможно. При клике мышкой в обработчик передается объект события, у которого есть поле isTrusted
isTrusted - свойство объекта Event, доступное только на чтение. Принимает значение true, если событие было инициировано действиями пользователя, и false, если событие было создано или изменено скриптом, либо с помощью dispatchEvent.
document.getElementById('click').addEventListener('click', (e) => console.log(e.isTrusted));
document.getElementById('click').click();
#click {
border: 1px solid black;
width: 200px;
height: 200px;
}
<div id="click">click me</div>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости