Необходимо разработать расширение для Google Chrome. Расширение необходимо для работы во внутренней интрасети (публиковать нет необходимости). Исходные данные: На веб странице есть форма ввода текста. Есть электронные весы, у них есть возможность по нажатию кнопки на клавиатуре (можно установить практически любую, например right_shift) передавать вес в окно ввода текста. Все работает под управлением Windows Cама задача Необходимо из браузера по событию сэмулировать нажатие клавиши (например right_shift) чтобы получить данные с весов в input на странице. Либо другой вариант решения Необходимо с помощью расширения получить данные из буфера обмена Возможно у этой задачи есть другие варианты решения. Пишите свои предложения, задавайте вопросы. Почта shayahmetov@gmail.com , скайп n1kolay_s (в нем бываю редко) либо в вк https://vk.com/id673286 (тут бываю часто По оплате договоримся PS: Вот драйвер весов, (первый пункт) можно скачать бесплатно http://cas.ru/3_produkt/software/Prog_obesp/ . Если была бы возможность сэмулировать нажатие кнопки через JavaScript было бы все просто, но насколько я понял это невозможно по политикам безопасности браузера
Нельзя из браузера сымитировать нажатие клавиши, которое услышит какая-то программа кроме браузера. Это запрещено политикой безопасности. Добавлено спустя 27 секунд: Нельзя не всмысле "аяяяй, не хорошо", а в смысле "принципиально невозможно".
Вот поэтому я думаю может такое возможно через расширение для браузера реализовать. Все таки там API по богаче будет. Либо если все равно никак, сделать вставку данных из буфера обмена, через расширение. (на компе будет крутится демон который постоянно будет в буфер обмена отправлять показания с весов, колхоз жуткий конечно )
Из браузера вы не получите данные буфера никак у расширений нет таких возможностей. Если есть возможность крутить демон на клиенте, то зачем извращаться с расширениями. Можете отправлять вызовы на сервер непосредственно и делать с данными что нужно.
Ага. Для работы с браузером. Суть в чем. Политика безопасности такова, что код, выполняемый в браузере, не способен производить никаких активных действий на машине пользователя. Вообще. Никаких. И не способен без его ведома ничего тырить с машины пользователя. Зато ваша программа может, например, сама слать запросы на сервер, без браузера.
С сервером вариант рассматривался, думал есть возможность обойти эти ограничения. Возможно кто то предложит вариант решения без сервера... Проще наверное будет убедить заказчика использовать обычную кнопку
Данные уходят на сервер, на странице самая обычная форма , ничего там хитрого нет. Приложение обычный веб-сайт, если так понятнее будет. По определенным причинам решили что будет работать в хроме.
весы срабатывают потому что драйвер клавиатуры встречает сигнал по которому он связывается с драйвером весов (утрированно). хром не сможет сэмулировать нажатие физической клавиши.
Всё верно... может возможно через flash? Добавлено спустя 10 минут 59 секунд: Судя по всему есть возможность чтения из буфера обмена. https://developer.chrome.com/extensions/declare_permissions Прошу откликнуться людей с опытом разработки расширений. Нет времени разбираться с этим самому.
У меня есть опыт разработки расширений. Это просто веб-приложение, работающее не на сайте а с жесткого диска пользователя. Никаких супер-способностей ему это не придает. А еще я работал со считывателями, которые через пс-пополам эмитируют нажатия клавиш на физической клавиатуре - отсюда и предположение о том как весы работают. Флэш когда-то давно можно было собрать в экзешник и из него запускать внешнюю программу. В данном случае можно было бы запускать некоторый маленький самописный сценарий, который изображает нажатие нужной клавиши или напрямую связывается с драйвером весов. Что как во флэше сейчас - не возьмусь говорить. Кстати, а что производитель весов думает о джаве? Вообще хоть какое-нибудь сдк у него в суппорте можно скачать?
N1kolay, у вас вместе с драйвером идет пример элементарного кода в документации для получения веса из устройства, работающего через тучу протоколов и поддерживающего netframwork. Вам документацию лень читать и нужно чтобы мы её читали другие или нравится чистить зубы через пятую точку, вычисляя вывод приложения из буфера обмена? Скомпилируйте простейший экзешник в котором у вас будет получение веса (копипаст из документации) и отправка его на сервер с вашим сайтом. Далее на сервере вес сохраняете/обрабатывайте и отправляете на клиент (предварительно при открытии страницы с веб-формой сайта, соответственно, устанавливив соединение, идентифицируя клиента по ip, к примеру). Смотрим далее. В вашем же архиве с драйвером приведена подробная инструкция по настройке ваших весов работающих через ком-порт и умеющих опять же после разовой настройки в гуи-интерфейсе выводить текущий вес в любое(!) windows-приложение, включая веб-форму открытую в IE. Поэтому, спрашивается, зачем вы ищите себе и форумчанам лишние задачи?
Всё верно. Весы работают практически так же, но считыватель сразу передает данные, как провели по нему карточкой, так же как и сканер штрих-кода. А весам необходимо нажать кнопку для получения веса, так наверное даже и правильно, потому что вес меняется и нет необходимости постоянно его получать. Всё что есть у производителя можно скачать здесь http://cas.ru/3_produkt/software/Prog_obesp/ Мне не лень читать документацию, но бывает просто физически не хватает времени на всё. Я не прошу же сделать мне это бесплатно. Драйвер я ставил, настраивал, всё работает, по нажатию кнопки на клавиатуре. Возможно я не точно описал задание, заказчик хочет чтобы вес появлялся без какого либо действия со стороны пользователя. Грубо говоря, представьте планшет без кнопок, клавиатуры у него нет, работник лишний раз не должен тянуться до планшета. Положили на весы груз, через несколько секунд в обычном текстовом поле на веб-странице появился вес.... Опять же повторюсь, возможно есть другие решения, через флеш, ява-апплет. Если ничего не получится, придется делать через сервер, но возможно кто то предложит рабочий вариант.
Но только в старом ie, потому что Microsoft отказалась от активахи, и в новом брузере ее не будет. И туда ему и дорога.