javascript - extensiones - extension development chrome
¿Comunicación entre una aplicación empaquetada de Chrome y una extensión de Chrome? (1)
Necesito combinar la funcionalidad disponible solo en una aplicación empaquetada de Chrome (acceso a syncFileSystem) y funcionalidad disponible solo en una extensión de Chrome (inyectando una secuencia de comandos en un sitio web de terceros).
Parece que ni una aplicación empaquetada ni una extensión pueden lograr ambas cosas, por lo que ahora estoy considerando tratar de lograr lo que busco con una aplicación de paquete separada y una extensión de comunicación.
Veo que la documentación de Chrome explica cómo dos extensiones se pueden comunicar a través de chrome.runtime.onMessageExternal.addListener
y chrome.runtime.sendMessage
, pero nada acerca de las aplicaciones empaquetadas y las extensiones que se comunican.
¿Alguien sabe si esto está permitido? ¿Hay alguna documentación, o un ejemplo de trabajo por ahí?
Sí, eso es posible. El ejemplo de código en la documentación que vinculó funciona para cualquier combinación de aplicación y extensión.
La documentación de extensión para chrome.runtime.sendMessage
dice:
Envía un mensaje único a los
onMessage
eventosonMessage
dentro de la extensión ( u otra extensión / aplicación ).
Los mensajes funcionan igual tanto en extensiones como en aplicaciones, y parecen ser totalmente compatibles; simplemente use la ID para la extensión o aplicación de destino. Si mira los documentos para la versión de la aplicación de chrome.runtime.sendMessage
, verá que es idéntica a la versión de la extensión.