Можно ли объединить расширение Chrome и собственный клиент Chrome и распространять их как единое целое?

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

Итак, мои вопросы - возможно ли создать решение, которое

  • состоит из двух компонентов: расширения Chrome (например, может встраивать сценарии контента на сторонние сайты, такие как google.com) и собственного клиента (например, запускать собственный код).
  • эти два компонента должны иметь возможность взаимодействовать друг с другом, например. через передачу сообщений (https://developer.chrome.com/extensions/messaging)
  • распространяется через Chrome Store как единое целое.

Заранее спасибо.


person Nikolai Lebedev    schedule 04.03.2015    source источник


Ответы (1)


Есть две похожие по названию, но совершенно разные технологии.

  1. Native Hosts. Это отдельные программы, которые нельзя распространять в интернет-магазине и которые взаимодействуют с вашим JavaScript с помощью Собственный обмен сообщениями, вариант стандартного API обмена сообщениями.

  2. Модули собственного клиента (NaCl/PNaCl). Они работают как плагины для браузера, и они могут быть связаны с расширением.

    Обратите внимание, что они изолированы от системы — идея здесь заключается в увеличении производительности или нетривиальном не-HTML пользовательском интерфейсе внутри браузера.

    Внутри вашего расширения вы создаете элемент <embed>, который создает экземпляр вашего собственного модуля кода. Код JavaScript может взаимодействовать с кодом (P)NaCl с событиями DOM .

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

person Xan    schedule 04.03.2015