网页中按键时间的保证范围

时间:2019-06-09 06:17:56

标签: javascript html google-chrome keyboard

基本上,这是我如何使用JavaScript获取“键速键入数据”的方法:

<!DOCTYPE html>
<html>
<body>
<input id="in"></input>
<p id="out">new</p>
<script>
var downlast = 0;
document.getElementById("in").onkeydown = function () {
    var downlast2 = new Date().getTime();
    document.getElementById("out").innerHTML += ","+(downlast2-downlast);
    downlast = downlast2;
};
</script> 
</body>
</html>

但是,有时CPU繁忙,会延迟事件触发,从而导致甚至超过50ms的错误。 因此,是否有一种方法可以修改此脚本以捕获和消除这些异常值中的大多数?我希望找到按键时的最小/最大界限,但是现在看来这不可能 JavaScript的事件驱动方法(即,我宁愿有一个函数来检查事件,而不是事件) 如果当前已按下某个键)。

通常,我正在寻找可以在Chrome浏览器中使用的任何解决方案,因此我不 实际上需要坚持使用Javascript。如何收集更多打字数据 是否可以控制客户端的CPU有多忙?

1 个答案:

答案 0 :(得分:0)

由于javascript中的所有执行都安排在事件循环中,因此无法准确测量用户按下按钮之间的时间,因为这些信号必须在页面上运行的其他javascript之间安排。

对于如何在浏览器中执行此操作,我没有任何建议。