24

Мне нужно объединить функциональные возможности, доступные только в Chrome-пакете (доступ к syncFileSystem) и функциональные возможности, доступные только в расширении Chrome (ввод скрипта на сторонний веб-сайт).Связь между установленным Chrome и расширением Chrome?

Похоже, что ни упакованное приложение, ни расширение не могут достичь обеих этих целей, поэтому я сейчас рассматриваю возможность достижения того, что мне нужно, с помощью отдельного упакованного приложения и расширения.

Я вижу, что Chrome's documentation объясняет, как два расширения может связываться через chrome.runtime.onMessageExternal.addListener и chrome.runtime.sendMessage, но ничего о упакованных приложений и расширений сообщающихся.

Кто-нибудь знает, разрешено ли это? Есть ли какая-либо документация или рабочий пример?

ответ

17

Да, это возможно. Образец кода в документации, которую вы связываете, работает для любой комбинации приложения и расширения.

документация расширение для chrome.runtime.sendMessage говорит:

Отправляет одно сообщение onMessage слушателей событий в расширении (или другое расширение/приложение).

Сообщения работают одинаково как в расширениях, так и в приложениях, и, похоже, они полностью совместимы; просто используйте идентификатор для получателя или приложения. Если вы посмотрите на документы для 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/ хром-приложение-образцы/дерево/мастер/образцы/сообщения). – falconepl

+1

@apsillers, вместо того, чтобы пользователь установил как приложение, так и расширение, есть все равно, чтобы объединить их в один блок так, чтобы пользователь выполнял только одно действие установки? – Pacerier

Смежные вопросы