У меня есть расширение Google Chrome, которое использует собственный хост. Это используется только в поле windows, и параметры реестра расширения добавляются вместе с установкой собственного исполняемого файла хоста. В настоящее время порт (chrome .runtime.connectNative) или собственный хост запускается при загрузке фонового скрипта расширений. В настоящее время это означает, что собственный хост запускается всякий раз, когда работает Google Chrome.
Расширение используется только для 1 веб-сайта «www.example.com», поэтому скрипты содержимого запускаются только при загрузке вкладки с этим веб-сайтом. Это означает, что собственный хост будет нужен только тогда, когда вкладка с этим веб-сайтом загружена, а не все время.
Теперь я хочу также создать расширение Edge Chromium и дать пользователям возможность использовать либо Edge, либо Chrome. Как я указал выше, оба расширения будут «установлены», то есть ключи реестра будут добавлены при установке собственного хоста. Это означает, что расширения будут доступны для обоих браузеров.
Мой главный вопрос заключается в том, когда и как следует запускать собственный хост.
Из этого основного вопроса у меня есть целый ряд мыслей или questions;
- Когда пользователь решает использовать Edge или Chromium, должен ли я в этот момент вносить изменения в реестр? Проблема здесь в том, что пользователи могут, конечно, независимо от моего приложения установить расширение.
- Есть ли проблема, просто оставить все как есть? Другими словами, если запущены Edge и Chromium, то есть 2 разных собственных хоста, и мое приложение просто выбирает, с каким собственным хостом взаимодействовать на основе выбора пользователя. Проблема здесь в том, что вы можете видеть собственный хост-процесс, запущенный в диспетчере задач, и поэтому он будет работать в браузере, который не выбран пользователем, что может не подходить для некоторых пользователей.
- Я думал о расширении, имеющем флаг, чтобы узнать, следует ли запускать собственный хост. Проблема в том, как я могу включить этот флаг. Без собственного хоста я не знаю, как взаимодействовать с расширением.
Возможно, есть и другие варианты, так что я рад их услышать.