Через Javascript можно обнаружить синтетические клики (клики, которые не были созданы человеком, а вместо этого были сгенерированы с использованием JS или другого инструмента автоматизации)?Обнаружение синтетических кликов на веб-странице
ответ
Вы можете использовать ванильный Javascript, как в других андерсерах, или рассмотреть возможность использования jquery, чтобы вы могли легко обнаружить клики, не связанные с человеком.
1. Определите глобальный обработчик событий click, используя jquery. Таким образом, вы можете поймать все клики на элементах страницы.
$(document).click(function(event) {
});
2.Проверьте, существует ли событие event.originalEvent, если оно существует, щелчок был выполнен человеком. More info
Для щелчков мыши
$(document).click(function(event) {
if (event.originalEvent === undefined) {
alert('not human')
} else {
alert(' human');
}
});
Для нажатия клавиши
$(document).keypress(function(event) {
if (event.originalEvent === undefined) {
alert('not human')
} else {
alert(' human');
}
});
Здесь приведен пример кода.
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(document).click(function(event) {
if (event.originalEvent === undefined) {
alert('not human')
} else {
alert(' human');
}
});
$(document).keypress(function(event) {
if (event.originalEvent === undefined) {
alert('not human')
} else {
alert(' human');
}
});
$(document).click();
$(document).keypress();
});
</script>
</head>
<body>
<p>Click me !</p>
</body>
</html>
Возможно, вы захотите посмотреть события mousemove и нажать события. Если вы ловите события кликов, но нет событий mousemove, я думаю, можно с уверенностью сказать, что роботы нажимают на ваш сайт.
может быть, мы можем сделать что-то вроде этого:
document.onmousedown = function(e) {
if (typeof(e.pageX) !== 'undefined' && e.pageX != 0)
{
alert ('human');
}else{
alert ('else');
}
}
или аналогичный подход:
document.onmousedown = function(e) {
if(e.screenX && e.screenX != 0 && e.screenY && e.screenY != 0){
alert("real button click");
}else{
alert("something else");
}
}
посмотреть здесь: Detect if button click real user or triggered by a script
Примечание: если вы хотите посетить JQuery решение это:Check if event is triggered by a human
Вы не можете проверить e.originalEvent это way.Parameter е доцент содержат originalEvent при использовании document.onmousedown.e содержит координаты положения мыши нажата. – Deshan
- 1. Обнаружение кликов
- 2. Обнаружение неаккуратных кликов Android
- 3. Обнаружение кликов элементов iframe
- 4. Как обнаружено обнаружение кликов?
- 5. Iphone OpengGL ES: обнаружение кликов на примитиве
- 6. Обнаружение флеш-кликов по jQuery
- 7. Обнаружение кликов за пределами View
- 8. Обнаружение onContextMenu кликов в фрагменте
- 9. Обнаружение кликов и выпусков ViewPager
- 10. Обнаружение кликов по элементам DIV, содержащим Javascript?
- 11. jQuery обнаружение кликов за пределами заданной проблемы
- 12. Контекст синтетических свойств Котлина
- 13. Создание синтетических социальных сетей?
- 14. Обнаружение длительных кликов по пользовательскому виду?
- 15. Каковы интереты синтетических методов?
- 16. Использование синтетических свойств Kotlin
- 17. Обнаружение кликов по сравнению с перетаскиванием на холст html 5
- 18. Понимание системы синтетических событий React
- 19. Получение синтетических методов из ITypeBinding
- 20. Понимание синтетических событий в ReactJS
- 21. Joint JS - Обнаружение пограничных кликов/изменение размера Js-элементов
- 22. Несколько кликов на uitableviewcell
- 23. подсчета кликов на IFRAME
- 24. Прослушивание кликов на RecyclerView
- 25. Координаты кликов на экране
- 26. обнаружение кликов с использованием python (для Maya 3D)
- 27. обнаружение кликов и событий касания с помощью ванили javascript
- 28. Каков формат синтетических атрибутов в java?
- 29. Генератор синтетических данных IBM Quest Market-Basket
- 30. Тестирование степенной гипотезы для синтетических данных
он не помечен jquery. исправьте его перед тем, как вы проголосуете. –