Как получить доступ к устройствам на клиентском компьютере из браузера
Каковы различные способы доступа к устройствам на клиентском ПК-считыватель штрих-кодов, сканер и т. д. - из браузера? Я понимаю, что моим пользователям может понадобиться плагин. Эти устройства могут иметь API, специфичный для их устройства; я хотел бы использовать их API, если он доступен (возможно, Java, возможно, C, возможно, командная строка).
4 ответа:
ПодписанныйJava-апплет может иметь независимый от платформы доступ к большинству вещей. Пользователь должен установить Java и разрешить запуск подписанного апплета.
Если вы напишете плагин к NSAPI, Как только они его установят, у вас будет доступ практически ко всему, что может получить пользователь. Конечно, они должны установить плагин.
Flash предлагает довольно большой доступ к устройствам.
Это не тривиальная вещь, и для нее нет стандартизированного API (за исключением, возможно, области JScript/ActiveX, которая ограничена Internet Explorer).
Для доступа к сканерам через интерфейс TWAIN, проверьте этот вопрос для всех общедоступных вариантов, о которых я знаю.
Большинство других вещей будут сводиться к пользовательскому программированию Active-X и других плагинов. Я видел коммерческие Плагины сканера штрих-кодов, обсуждаемые на SO, но не могу найти вопрос прямо сейчас.
Многие считыватели штрих-кодов могут быть вставлены между клавиатурой и ПК, поэтому отсканированные штрих-коды попадают прямо в буфер клавиатуры. Другие устройства либо подключаются к последовательному порту, либо имеют драйверы, эмулирующие последовательный порт. Следующий код python скопирует данные из реального или виртуального COM-порта в буфер клавиатуры активного окна. Номер COM-порта жестко закодирован, но его можно легко изменить.
import serial import SendKeys ser = serial.Serial(2) print ser.portstr while 1: # exit loop when ctrl/c pressed line = "" while 1: char = ser.read() if char == "\r": break line = line + char print line SendKeys.SendKeys(line, 0) ser.close()