众所周知,您可以检查是否是人为触发点击。
if(event.originalEvent !== undefined){ alert('human'); }
但是可以检查mouseEvent是由人类还是由机器人制造的?在下面创建mouseEvent的示例。
var mousedownEvent = document.createEvent ("MouseEvent");
mousedownEvent.initMouseEvent ("click", true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null);
element.dispatchEvent(mousedownEvent);
最佳答案
不,至少不是仅仅通过查看事件即可。无论事件是如何生成的,事件的结构都是相同的。
可以应用一些启发式方法来分析鼠标的移动,并确定它是人还是机器人(机器人更有可能以更一致,更完美的直线移动,而人则更有可能以轻微的曲线或随机性)。这实际上是Google的“不是机器人”验证码工作方式的一部分。
但是,执行类似操作将超出此处单个问题的范围。
关于javascript - mouseEvent是由人类创建的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45087571/