众所周知,您可以检查是否是人为触发点击。

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/

10-08 22:00