2010-04-16 29 views
65

¿Cómo iniciar una aplicación externa desde una extensión de Google Chrome?¿Iniciar una aplicación externa desde una extensión de Google Chrome?

Así que, básicamente, tengo un archivo ejecutable que hace el trabajo cuando lo ejecuta. Tengo que ser capaz de iniciar sin una ventana (que es una aplicación de consola) y pasar la URL actual a él en una discusión,

+13

Si hay un dios, Google nunca permitirá que nadie lo haga bajo ninguna circunstancia. –

+0

podría tener al menos su propio archivo exe que puede comenzar ... sin pensar en c o C++. –

+3

@ Azeem. ¿Qué sucede si se encuentra en un entorno corporativo y todos los usuarios permiten explícitamente este tipo de acción? Me parece un flujo de trabajo muy útil. Por lo tanto, la mensajería nativa (que primero requiere la instalación/ejecución de una aplicación nativa separada) parece ser el camino a seguir (ver la respuesta de jonny) – JoeCool

Respuesta

18

La única manera de hacer esto es a través de NPAPI plugins: https://developer.chrome.com/extensions/npapi

+0

chrome recomienda usar el desarrollo de complementos de MDC. en que todo se refiere a crear un complemento para un tipo de mime específico ... ¿hay alguna otra referencia en línea para crear complementos? –

+16

Tenga en cuenta que NPAPI se está eliminando. Ver: http: // stackoverflow.com/questions/19917543/execute-a-program-from-a-chrome-extension – Frederik

+2

Solo quería apuntar la respuesta de jonny a continuación, que probablemente sea la mejor: http://stackoverflow.com/a/19922712/110549. La mensajería nativa es probablemente el camino a seguir. – JoeCool

2

Hay una extensión para Chrome (SimpleGet) que tiene un plug-in para Windows y Linux que puede ejecutar una aplicación con parámetros de línea de comandos .....
http://pinel.cc/
http://code.google.com/p/simple-get/
http://www.chromeextensions.org/other/simple-get/

+1

Simple get es un administrador de descargas, no es lo que están buscando. – joanlofe

+1

@joanlofe "que tiene un complemento para Windows y Linux que puede ejecutar una aplicación con parámetros de línea de comandos" – PAEz

+7

Cualquier otra persona que mire esto, la extensión usa la extensión NPAPI que se eliminará antes de fin de año. –

0

La pregunta tiene un buen pagerank en Google, por lo tanto, para cualquiera que esté buscando una respuesta a esta pregunta, podría ser útil.

hay una extensión de Google Chrome marketspace para hacer exactamente eso: https://chrome.google.com/webstore/detail/hccmhjmmfdfncbfpogafcbpaebclgjcp

+4

Tenga en cuenta que [las respuestas solo de enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info) no se recomiendan, las respuestas SO deberían ser el punto final de una búsqueda de una solución (vs. otra escala más de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra

+0

@kleopatra He proporcionado un contexto para el enlace –

+0

Es una extensión "Abrir con aplicación externa", la fuente está alojada en BitBucket (https://bitbucket.org/lck/open-with-external-application), y usa el complemento SimpleGet. Buen ejemplo para aprender. – Victor

70

Por desgracia, no tienen suficiente reputación para comentar sobre la respuesta de Mohamed Mansour anteriormente.

Google is now phasing out NPAPI for Chrome, por lo que la forma preferida de hacerlo es usando el native messaging API. La aplicación externa tendría que registrar un host de mensajería nativo para intercambiar mensajes con su aplicación.

+0

¿Qué pasa con PPAPI? – Pacerier

+0

De hecho, creo que se puede, utilizando FileIO: https://developer.chrome.com/native-client/pepper_stable –

+0

ahora en desuso :) – jujule

2

Voy por hypothesys ya que no puedo verificarlo ahora.

Con Apache, si hace una secuencia de comandos php en su máquina local llamando a su ejecutable, y luego llama a este script a través de POST o GET a través de html/javascript?

¿Funcionaría?

Avísame.

+0

Por supuesto, esto funcionaría si el proceso de Apache tuviera los permisos necesarios, ** pero ¿cuál es el punto ** cuando necesitaría instalar Apache y abrir puertos del servidor web en la ** computadora del usuario ** ... – Pacerier

6

No puede ejecutar comandos arbitrarios, pero si sus usuarios están dispuestos a realizar alguna configuración adicional, puede usar custom protocols.

E.g. tiene los usuarios configurados para que los enlaces some-app:// comiencen "SomeApp", y luego en my-awesome-extension abra una pestaña que apunta al some-app://some-data-the-app-wants, ¡y listo!

Cuestiones relacionadas