2013-09-03 3 views
9

В целом, я знаю, что нельзя использовать системные библиотеки или библиотеки dll для javascript в браузере. Но во многих приложениях я вижу браузер, запускающий другие процессы. Например:Запуск фонового процесса с помощью javascript

  1. Как только я открываю Google Plus, он начинает googletalkplugin.exe (из папки C:\Users\Jatin\AppData\Local\Google\Google Talk Plugin) в фоновом режиме. (Можно просмотреть в Мониторе ресурсов)
  2. То же самое с видеочатом facebook. Впервые он просит меня установить плагин, а позже, когда я начинаю чат, он запускает процесс.
  3. На торрент-сайтах они обеспечивают магнитные ссылки. Нажав на ссылку torrent magnet, он открывает мой торрент-клиент по умолчанию.

В некотором роде, то же самое со вспышкой и апплетом.

Как браузеры запускают другой процесс и общаются с ним? Есть ли какой-то открытый стандарт, которого я пропускаю?

В конечном счете, я хочу сделать видео, аудиозапись со скринкастом. Для записи на экране Java-апплет выглядит как единственное решение, но апплет имеет свои собственные проблемы.

+0

Любое использование? [http://stackoverflow.com/questions/3152482/running-exe-from-javascript](http://stackoverflow.com/questions/3152482/running-exe-from-javascript) – Andy

+0

@ Andy Из того, что я знаю , который будет работать только на IE – Jatin

ответ

3

Флеш-плеер и апплеты используют плагины, которые являются родными приложениями для ОС (т. Е. (В основном), а не JavaScript), они не являются расширениями, а плагинами. Для Chrome см. Chrome: // plugins /, чтобы увидеть список установленных плагинов.

Для написания плагина для браузера, обратитесь к How to write a browser plugin?

Ссылка торрента совершенно разные, они сделаны путем регистрации протокола URL-адрес для обработки. Другими словами, вы говорите компьютеру, что теперь с я буду запускать любые URL-адреса, имеющие протокол torrent, то есть: начинается с torrent://. См.: Uri Scheme

Когда браузер видит uri, он знает, что не обрабатывает сам протокол torrent, поэтому он делегирует это ОС, который знает, что с ним делать.

Если браузер действительно знал, как с этим справиться, он, вероятно, не делегировал бы это ОС. Например: Google Chrome может легко обрабатывать ссылки mailto: без регистрации протокола mailto, который будет обрабатываться ОС.

2

Вы можете сделать это, написав плагин. Можно писать плагин, которые работают на самом популярных браузерах, используя те же C++ кода, используя библиотеку под названием Firebreath

Естественно нет уже существующего стандартного плагина, который позволяет страницам, чтобы начать любой внешнего приложения, потому что будет серьезной дырой в безопасности, и нет (здравомыслящий) пользователь согласится установить такой плагин.

Вы должны написать конкретный плагин с возможностями, которые строго ограничены тем, что вам нужно, поэтому пользователь может согласиться на использование только этих возможностей. Опять же, подумайте о том, как другая страница может использовать эти возможности, прежде чем спускать этот маршрут.

Смежные вопросы