Как отследить работу USB-сканера, считывающего штрих-код, посредством Jquery?
Добрый вечер, уважаемые пользователи! Хотелось бы услышать возможный вариант решения одной простой задачи. Есть сканер штрих-кодов, работает как USB-клавиатура. Требуется в небольшой веб-панельке, чтобы посредством Jquery при нажатии на кнопочку происходило ожидание ввода данных, считанных со штрих-кода.
Проблемы особо сильно нету, думал поступить так:
1) сделать ввод по маске для input и по окончанию передать в форму
2) если в течение n-го времени ввод отсутствует, то сбросить ожидание и закрыть модальное окно ожидания считывания.
Но столкнулся с следующей проблемой, оказалось, маску использовать нельзя, т.к. кол-во символов может отличаться, что очень сильно огорчило.
Вопрос заключается, собственно, в следующем: как можно отследить работу считывания штрих-кода, чтобы после считывания он сразу закрывал модальное окно и передавал данные в форму для поиска?
на локальной машине - никак. Для этого нужен доступ к ресурсам компа(точнее к com-порту, созлданному USB), который блокируется виртуальной машиной. То есть компьютер со сканером должен обладать способностями сервера для передачи данных от COM для клиента.
Видел реализацию на ActiveX такой схемы.
Но может подойти любой доморощеный сервис (на Java например), что бы выкинуть из COM-порта обратившимуся клиенту по сетевому TCP порту.
А такой вариант как? открывается модальное окно ждёт 10 сек если в поле (с focus "и не дает убрать фокус, фокус уберется только после подтверждения верно ли введены данные") не было введено данных то отмена, если ввели то через 1 сек спросить у пользователя верно ли считался код.
Или после ввода указать таймер, что если был ввод 1 сек назад то также спросить верно или нет считалось!
Вообщето именно такой вариант и раюотает для ассинхронного обмена. В программе, с которой я работаю существут отдельный трэд, который все время в цикле читает ком-порт. Если что то появилось, то читается до cr и записывается в мэилбокс. Cr нетолько признпк у хонейвэлов ну и у кучи других скэнеров. Нотя у тего же хонейвэл можно обработку запрограммировать в самом сканере, но лучше это не делать.
Поток основной программы переодически по таймеру проверяет мэилбокс. Если он заполнен, то использует это значение.
в web с этим еще проще: получается процесс браузера физически разделен с процессом обработки ком-порта. Нужно только по таймеру отправить запрос неважно с чем на определенный порт localhost и прочитать нужное значение. Если значение не пустоеё то в нем баркод.