Запустити зовнішню програму з розширення Google Chrome?


77

Як запустити зовнішню програму з розширення Google Chrome?

Отже, в основному у мене є виконуваний файл, який виконує роботу під час його запуску. Мені потрібно мати можливість запустити його без вікна (це консольний додаток) і передати йому поточну URL-адресу в аргументі,


16
Якщо є бог, то Google ніколи за жодних обставин нікому не дозволить це робити.
Azeem. Батт

чи могли б ви мати принаймні власний файл exe, який ви можете запустити ... не думаючи про c або C ++.
Мухаммед Умер

7
@ Azeem. Але що, якщо ви перебуваєте в корпоративному середовищі, і всі користувачі явно дозволяють подібні дії? Мені здається дуже корисним робочим процесом. Отже, власні повідомлення (для яких спочатку потрібно встановити / запустити окрему власну програму) здається шляхом (див. Відповідь Джонні)
JoeCool


@msangel Оскільки питання, яке ви згадали, стоїть позаду цього, його слід розглядати як дублікат.
C.Chapagne

Відповіді:


83

Раніше ви робили це за допомогою плагінів NPAPI .

Однак зараз Google поступово відмовляється від NPAPI для Chrome , тому найкращим способом цього є використання власного API обміну повідомленнями . Зовнішній програмі доведеться зареєструвати власний хост обміну повідомленнями, щоб обмінюватися повідомленнями з вашою програмою.


Я насправді думаю, що ви можете, використовуючи FileIO: developer.chrome.com/native-client/pepper_stable
i336_

19

Ви не можете запускати довільні команди, але якщо ваші користувачі хочуть пройти додаткове налаштування, ви можете використовувати власні протоколи .

Наприклад, користувачі налаштовують це так, що some-app://посилання починаються з "SomeApp", а потім у my-awesome-extensionвас відкривається вкладка, яка вказує на some-app://some-data-the-app-wants, і все готово!


Я думаю, що це повинна бути нова прийнята відповідь, і, схоже, вона чудово працює на Win & Linux, хотіла б знати про Груші ... чи це були банани ... щось із фруктами :-)
Xan-Kun Clark- Девіс

2

Існує розширення для Chrome (SimpleGet), яке має плагін для Windows та Linux, який може запускати програму з параметрами командного рядка .....
http://pinel.cc/
http://code.google.com/p/ simple-get /
http://www.chromeextensions.org/other/simple-get/


1
Простий get - це менеджер завантажень, це не те, що вони шукають.
joanlofe

1
@joanlofe "з плагіном для Windows та Linux, який може запускати програму з параметрами командного рядка"
PAEz,

7
Будь-хто, хто дивиться на це, розширення використовує розширення NPAPI, яке буде поступово припинено до кінця року.
The Humble Rat

2

Я йду на гіпотези, оскільки зараз не можу перевірити.

Якщо ви використовуєте Apache на локальній машині php-скрипт, який викликає ваш виконуваний файл, а потім викликає цей сценарій через POST або GET через html / javascript?

це функціонуватиме?

дай мені знати.


1
Звичайно, це спрацювало б, якби процес Apache мав необхідні дозволи, але який сенс тоді, коли вам потрібно буде встановлювати Apache і відкривати порти веб-сервера на комп'ютері користувача ....
Pacerier

0

Питання має хороший рейтинг в Google, тому для тих, хто шукає відповіді на це питання, це може бути корисно.

Існує розширення в google chrome marketpace, щоб зробити саме це: https://chrome.google.com/webstore/detail/hccmhjmmfdfncbfpogafcbpaebclgjcp


6
Зауважте, що відповіді лише на посилання не рекомендуються, відповіді SO повинні бути кінцевою точкою пошуку рішення (проти чергової зупинки посилань, які з часом старіють). Будь ласка, додайте сюди окремий конспект, зберігаючи посилання як посилання.
kleopatra

@kleopatra Я надав деякий контекст для посилання
Кент Александров,

Це розширення "Відкрити із зовнішнім додатком", джерело розміщується на BitBucket ( bitbucket.org/lck/open-with-external-application ) і використовує плагін SimpleGet. Хороший приклад для навчання.
Віктор

1
Зауважте, що цей плагін використовує вже припинений NPAPI, тому він не працює для сучасних версій Chrome (версія 35 для Linux).
Hjulle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.