Как получить доступ к устройствам на клиентском ПК из браузера

StackOverflow https://stackoverflow.com/questions/2178892

Вопрос

Каковы различные способы доступа к устройствам на клиентском ПК - считыватель штрих-кода, сканер и т. Д. - Из браузера? Я понимаю, что мои пользователи могут понадобиться плагин. Эти устройства могут иметь API, который специфичен для их устройства; Я хотел бы использовать их API, если имеется (возможно Java, может быть, C, возможно, командная строка).

Это было полезно?

Решение

А. подписанный Java Applet может иметь независимый от платформы доступа к большинству вещей. Пользователь должен установить Java и должен позволять подписанному апплету запустить.

Если вы пишете плагин к NSAPI, как только они установили его, у вас будет доступ к тому, что пользователь может получить доступ. Конечно, они должны установить плагин.

Flash предлагает довольно много доступа к устройствам.

Другие советы

Это не тривиальная вещь, и для него нет стандартизированных API (кроме, возможно, в области jscript / ActiveX, которая ограничена Internet Explorer).

Для доступа к сканерам через интерфейс TWAIN, проверьте этот вопрос Для всех вообще доступных вариантов я знаю.

Большинство других вещей будет до пользовательских запрограммированных Active-X и других плагинов. Я видел коммерческие плагины сканера штрих-кода, обсуждаемые так, но не можете найти вопрос прямо сейчас.

Многие читатели штрих-кода могут быть вставлены между клавиатурой и ПК, поэтому отсканированные штрих-коды идут прямо в буфер клавиатуры. Другие устройства либо подключаются к последовательному порту или имеют драйверы, которые эмулируют последовательный порт. Следующий код 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()

В зависимости от того, что вы пытаетесь сделать, Silverlight и Adobe оба имеют некоторые ограниченные возможности на этой арене. Веб-камеры, печать в Silverlight 4.0 и т. Д. Однако это нетривиальна. Silverlight 4.0 и Flash Обе поддерживают сканирование штрих-кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top