24

Chrome 패키지 앱에서만 사용할 수있는 기능 (syncFileSystem에 대한 액세스)과 Chrome 확장 프로그램에서만 사용할 수있는 기능 (타사 웹 사이트에 스크립트 삽입)을 결합해야합니다.Chrome 패키지 앱과 Chrome 확장 프로그램 간 통신?

포장 된 앱도 확장 프로그램도이 두 가지를 모두 달성 할 수 없으므로 이제는 별도의 패키지 앱과 확장 프로그램을 통해 내가 원하는 것을 성취하려고 노력 중입니다.

나는 Chrome's documentation확장chrome.runtime.onMessageExternal.addListenerchrome.runtime.sendMessage를 통해 통신 없지만, 패키지 애플리케이션과 통신 확장에 대해 아무것도 할 수있는 방법을 설명합니다 것을 알 수있다.

허용되는 경우 누구에게 알 수 있습니까? 어떤 문서가 있습니까, 아니면 거기에 실례가 있습니까?

답변

17

예, 가능합니다. 연결된 문서의 코드 샘플은 앱과 확장 프로그램의 모든 조합에 사용할 수 있습니다.

chrome.runtime.sendMessage에 대한 확장 문서는 말한다 :

가 확장 (또는 다른 확장/응용 프로그램) 내에서 onMessage 이벤트 리스너에 하나의 메시지를 보냅니다.

메시징은 확장 프로그램과 앱에서 모두 동일하게 작동하며 완전히 호환되는 것으로 보입니다. 대상 확장 또는 응용 프로그램의 ID 만 사용하면됩니다. app version of chrome.runtime.sendMessage의 문서를 보면 확장 버전과 동일하다는 것을 알 수 있습니다.

+1

앱과 확장 프로그램을 번들로 묶는 방법을 알아내는 것은 정말 좋습니다. 한 번의 클릭으로 두 가지를 모두 설치할 수 있기를 원하지만 이상적으로는 두 가지 중 하나에서 다른 두 가지로 상향 조정할 수 있습니다. 앱이 설치되어 있으면 백그라운드 권한 모드에 있어야합니다. – kzahel

+2

@ mangini의 링크가 더 이상 작동하지 않지만 시도해 볼 수 있습니다 : [https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/messaging](https://github.com/GoogleChrome/ chrome-app-samples/트리/마스터/샘플/메시징). – falconepl

+1

@apsillers, 사용자가 앱과 확장 프로그램을 모두 설치하는 대신, 사용자가 하나의 설치 작업 만 수행하도록 둘 다 하나의 유닛으로 결합 할 수 있습니까? – Pacerier