2010-04-16 177 views
65

如何從Google Chrome擴展程序啓動外部應用程序?從Google Chrome擴展程序啓動外部應用程序?

所以基本上我有一個可執行文件,當你啓動它時會執行這個工作。我需要能夠沒有窗口(這是一個控制檯應用程序)啓動它,並通過當前的URL給它一個說法,

+13

如果有上帝,那麼Google絕不允許任何人在任何情況下這樣做。 – 2010-04-17 03:37:39

+0

你能否至少擁有自己的exe文件,你可以開始......不考慮c或C++。 – 2013-09-08 22:02:49

+3

@ Azeem.Butt如果您處於公司環境中並且所有用戶明確允許這種行爲,該怎麼辦?對我來說似乎是一個非常有用的工作流程。因此,本地消息傳遞(首先需要安裝/運行獨立的本地應用程序)似乎是一種行之有效的方式(請參閱jonny的答案) – JoeCool 2015-06-09 19:29:04

回答

18

你可以做到這一點的唯一方法是通過NPAPI插件: https://developer.chrome.com/extensions/npapi

+0

chrome建議使用MDC插件開發。因爲它都談到了爲特定的MIME類型創建插件...有沒有其他創建插件的在線參考... – 2013-04-18 17:34:28

+16

請注意,NPAPI正在被淘汰。請參閱:http:// stackoverflow。com/questions/19917543/execute-a-program-from-chrome-extension – Frederik 2013-11-12 15:33:05

+2

只是想指出下面的jonny的答案,這可能是最好的:http://stackoverflow.com/a/19922712/110549。本地消息傳遞可能是要走的路。 – JoeCool 2015-06-09 19:27:25

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 2012-11-23 12:03:58

+1

@joanlofe「,它有一個Windows和Linux插件,可以使用命令行參數執行應用程序」 – PAEz 2012-11-23 18:20:57

+7

任何其他人都在看這個,擴展名使用NPAPI擴展,將在今年年底逐步淘汰。 – 2014-02-24 14:24:23

0

問題在谷歌上有一個很好的網頁排名,所以對於任何正在尋找這個問題的答案的人來說,這可能會有所幫助。

有一個在谷歌瀏覽器市場空間的擴展,恰恰如此: https://chrome.google.com/webstore/detail/hccmhjmmfdfncbfpogafcbpaebclgjcp

+4

請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(vs.而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra 2013-08-22 09:12:29

+0

@kleopatra我爲鏈接提供了一些上下文 – 2013-08-22 10:16:23

+0

這是一個「使用外部應用程序打開」的擴展,源位於BitBucket(https://bitbucket.org/lck/open-with-external-application)上,並且它使用SimpleGet插件。學習的好例子。 – Victor 2013-09-10 09:16:44

70

不幸的是,我沒有足夠的聲譽穆罕默德·曼蘇爾的答案以上評論。

Google is now phasing out NPAPI for Chrome,所以首選的方法是使用native messaging API。外部應用程序必須註冊本地消息傳遞主機才能與應用程序交換消息。

+0

PPAPI呢? – Pacerier 2016-08-18 14:16:26

+0

我實際上認爲你可以,使用FileIO:https://developer.chrome.com/native-client/pepper_stable – 2016-09-27 01:08:01

+0

現在不贊成:) – jujule 2018-01-19 22:00:54

2

因爲我現在無法驗證,所以我選擇hypothesys。

使用Apache,如果您在本地計算機上調用您的可執行文件時使用了php腳本,然後通過POST或GET通過html/javascript調用此腳本?

它會起作用嗎?

讓我知道。

+0

當然,這將工作,如果Apache進程具有所需的權限,**但是什麼是點**,然後您需要安裝Apache並在**用戶計算機上打開網絡服務器端口** .... – Pacerier 2016-08-18 14:18:42

6

您無法啓動任意命令,但如果您的用戶願意通過一些額外的設置,則可以使用custom protocols

E.g.你有用戶設置的東西,以便some-app://鏈接啓動「SomeApp」,然後在my-awesome-extension你打開一個標籤指向some-app://some-data-the-app-wants,你很好去!