Chrome Extension Support
Electron supports a subset of the Chrome Extensions API, primarily to support DevTools extensions and Chromium-internal extensions, but it also happens to support some other extension capabilities.
Примечание: Electron не поддерживает пользовательские расширения из магазина Chrome. Идеальная совместимость с реализацией расширений Chrome не является целью проекта Electron.
Загрузка расширений
Electron поддерживает загрузку только распакованных расширение (т.е. файлы .crx
не будут работать). Расширения устанавливаются с помощью объекта session
. Для загрузки расширения вызовите ses.loadExtension
:
const { session } = require('electron')
session.defaultSession.loadExtension('path/to/unpacked/extension').then(({ id }) => {
// ...
})
Загруженные расширения не буду автоматически запоминаться при выходе: если вы не вызовите loadExtension
при запуске приложения - расширение не будет загружено.
Обратите внимание, что загрузка расширений поддерживается только в постоянных сессиях. Попытка загрузить расширение в сохраненную сессию приведет к ошибке.
Смотрите документацию по session
чтобы узнать больше о загрузке, выгрузке и получении активных расширений.
Поддерживаемые API расширений
Мы поддерживаем следующие API расширений с некоторыми оговорками. Остальные API могут дополнительно поддерживаться, но поддержка API, не перечисленных здесь, является предварительной и может быть удалена.
Supported Manifest Keys
name
версия
автор
permissions
content_scripts
default_locale
devtools_page
short_name
host_permissions
(Manifest V3)manifest_version
background
(Manifest V2)minimum_chrome_version
See Manifest file format for more information about the purpose of each possible key.