Вам придется написать дополнения, чтобы сделать эту работу.
для Internet Explorer; Вы можете написать Объект поддержки браузера (BHO) .
Для Firefox, Chrome и Safari; Я думаю, что ваш единственный вариант - написать плагин Netscape, используя NPAPI . FireBreath - очень полезный фреймворк для создания плагинов такого типа, поскольку он берет на себя большую часть грязной работы, позволяя вам сосредоточиться на самом плагине. Это позволит вам выбить этих троих одним камнем - вы также можете написать его для кроссплатформенности (поддержки многих операционных систем), если хотите. Каждый из этих браузеров также имеет свои собственные модели расширений, которые могут быть написаны на чистом JavaScript; но они не предоставляют API последовательного порта из-за отсутствия необходимости и проблем безопасности; делая NPAPI единственным жизнеспособным решением.
Однако, учитывая все сказанное, я бы спросил, стоит ли вам вообще делать это в браузере. Для меня это больше похоже на клиентское приложение.
У вас есть несколько других вариантов в зависимости от ваших потребностей. Если вы пишете специально для платформы Windows, многие обнаружили, что они могут использовать Silverlight 4 Out-of-Browser плюс объект Active-X для доступа к последовательному порту (Silverlight не имеет собственного API для доступа к последовательному порту). Это не будет работать в браузере; но это вариант для рассмотрения.