Гарантированные границы времени нажатия клавиш на веб-странице - PullRequest
0 голосов
/ 09 июня 2019

Вот как я получаю некоторые «данные о скорости ключевой печати» с помощью 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>

Но иногда процессор занят, задерживая события, вызывая ошибки, превышающие 50 мс.Итак, есть ли способ изменить этот скрипт, чтобы поймать и аннулировать большинство из этих выбросов?Я надеялся найти минимальные / максимальные границы времени нажатия клавиш, но теперь это кажется невозможным с помощью методов JavaScript, управляемых событиями (т. Е. Вместо событий, я бы предпочел иметь функцию для проверки, нажата ли клавиша в данный момент).

В общем, я ищу любое решение, которое будет работать в браузере Chrome, поэтому мне не нужно придерживаться Javascript.Как я могу с большей уверенностью собирать данные о наборе, если не могу контролировать, насколько загружен ЦП клиента?

1 Ответ

0 голосов
/ 09 июня 2019

, поскольку все выполнение в javascript запланировано в цикле событий, оно не может дать вам точные измерения того, как долго пользователь нажимает кнопки, так как эти сигналы должны планироваться между любым другим javascript, выполняемым на странице.

У меня нет рекомендации, как это сделать в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...