0
Завершен

urovo i6300 сканирование в режиме "Keyboard output mode"

Dmitri Buriak 4 месяца назад в UROVO • обновлен Александр Б. «РайтСкан» (Специалист службы поддержки) 3 месяца назад 8

Необходима вставка в поле ввода веб приложения отсканированной марки алкогольной продукции. В данном режиме вставка просиходит с задержкой. При отключённом режиме  "Keyboard output mode" вставка не происходит в принципе. Есть ли какая-то возможность избежать задержки, или получить програмно из веб приложения значение марки в момент сканирования при отключённом режиме "Keyboard output mode"?

ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Dmitri Buriak 3 месяца назад
На рассмотрении

Получить программно из обычного веб приложения нет никакой возможности, вы не можете получать события системы браузером. У вас обработка идет по контролю нажатий клавиш или в поле ввода вставка?

Используется нажатие клавиши "enter", соответственно в js коде обрабатывается "change event". Также была попытка обработки нажатия клавиш.

А сам баркод вводится в поле ввода "обычным образом"?

Возможно проблема именно на стороне js кода, вы делали профайлинг скрипта?

Да, дебажил js. В режиме "physical keyboard" марка из 68 символов набирается около 4 секунд, в режиме "soft keyboard" примерно 2. Происходит задержка до начала ввода. Данное поведение наблюдается даже при отключении скрипта.

только что прогнал тест на таком образце

<html>
<body>
<input type="text" size="80" id="dInput"/>
<script>
var f = document.getElementById("dInput");
document.addEventListener('keydown',function(event) {
   if(event.keyCode == 13)
    alert(f.value);
  }
);
</script>
</body>
</html>


Терминал i6300, браузер Opera. Задержек нет. Используется physical keyboard

Если использовать ражим "physical keyboard" задержки нет, но для набора 68 символов в этом режиме уходит около 4 секунд. В режиме "soft keyboard" работает быстрее, но есть проблема с тем, что в момент срабатывания события "keydown" с кодом клавиши "13" (enter), значение получаемое из поля не всегда определено корректно (не все символы вставлены в инпут)



ОС эмулирует нажатия с небольшим интервалом. Увы, от этого никак не избавится.

Сервис поддержки клиентов работает на платформе UserEcho