Когда мне следует запускать собственный хост сообщений при ориентации как на Google Chrome, так и на Edge Chromium? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть расширение Google Chrome, которое использует собственный хост. Это используется только в поле windows, и параметры реестра расширения добавляются вместе с установкой собственного исполняемого файла хоста. В настоящее время порт (chrome .runtime.connectNative) или собственный хост запускается при загрузке фонового скрипта расширений. В настоящее время это означает, что собственный хост запускается всякий раз, когда работает Google Chrome.

Расширение используется только для 1 веб-сайта «www.example.com», поэтому скрипты содержимого запускаются только при загрузке вкладки с этим веб-сайтом. Это означает, что собственный хост будет нужен только тогда, когда вкладка с этим веб-сайтом загружена, а не все время.

Теперь я хочу также создать расширение Edge Chromium и дать пользователям возможность использовать либо Edge, либо Chrome. Как я указал выше, оба расширения будут «установлены», то есть ключи реестра будут добавлены при установке собственного хоста. Это означает, что расширения будут доступны для обоих браузеров.

Мой главный вопрос заключается в том, когда и как следует запускать собственный хост.

Из этого основного вопроса у меня есть целый ряд мыслей или questions;

  1. Когда пользователь решает использовать Edge или Chromium, должен ли я в этот момент вносить изменения в реестр? Проблема здесь в том, что пользователи могут, конечно, независимо от моего приложения установить расширение.
  2. Есть ли проблема, просто оставить все как есть? Другими словами, если запущены Edge и Chromium, то есть 2 разных собственных хоста, и мое приложение просто выбирает, с каким собственным хостом взаимодействовать на основе выбора пользователя. Проблема здесь в том, что вы можете видеть собственный хост-процесс, запущенный в диспетчере задач, и поэтому он будет работать в браузере, который не выбран пользователем, что может не подходить для некоторых пользователей.
  3. Я думал о расширении, имеющем флаг, чтобы узнать, следует ли запускать собственный хост. Проблема в том, как я могу включить этот флаг. Без собственного хоста я не знаю, как взаимодействовать с расширением.

Возможно, есть и другие варианты, так что я рад их услышать.

1 Ответ

2 голосов
/ 05 мая 2020

изменения в реестре

Добавьте chrome-extension://id/ с идентификатором вашего второго расширения в allowed_origins в манифесте хоста, как показано в документации .

работают 2 разных собственных хоста

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

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

Это зависит от того, что делают хост и расширение. Возможно, вам не нужно запускать хост все время, или, может быть, вы можете запускать его только тогда, когда загружена вкладка с соответствующим URL-адресом. Возможно, вы сможете использовать новый экспериментальный механизм onConnectNative .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...