Spec-Zone.ru › Electron

Поддержка расширений Chrome

Electron поддерживает подмножество API расширений Chrome (Chrome Extensions API), в основном для поддержки расширений DevTools и расширений Chromium, но также поддерживает и некоторые другие возможности расширений.

Примечание: Electron не поддерживает произвольные расширения Chrome из магазина, и проект Electron не ставит своей целью полную совместимость с реализацией расширений в Chrome.

Загрузка расширений​

Electron поддерживает только загрузку распакованных расширений (т.е. файлы .crx не работают). Расширения устанавливаются для каждого session. Для загрузки расширения вызовите ses.loadExtension:

const { session } = require('electron')

session.loadExtension('path/to/unpacked/extension').then(({ id }) => {
  // ...
})

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

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

Дополнительную информацию о загрузке, выгрузке и запросах активных расширений см. в документации session.

Поддерживаемые API расширений​

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

chrome.devtools.inspectedWindow​

Все возможности этого API поддерживаются.

chrome.devtools.network​

Все возможности этого API поддерживаются.

chrome.devtools.panels​

Все возможности этого API поддерживаются.

chrome.extension​

Поддерживаются следующие свойства chrome.extension:

  • chrome.extension.lastError

Поддерживаются следующие методы chrome.extension:

  • chrome.extension.getURL
  • chrome.extension.getBackgroundPage

chrome.runtime​

Поддерживаются следующие свойства chrome.runtime:

  • chrome.runtime.lastError
  • chrome.runtime.id

Поддерживаются следующие методы chrome.runtime:

  • chrome.runtime.getBackgroundPage
  • chrome.runtime.getManifest
  • chrome.runtime.getPlatformInfo
  • chrome.runtime.getURL
  • chrome.runtime.connect
  • chrome.runtime.sendMessage
  • chrome.runtime.reload

Поддерживаются следующие события chrome.runtime:

  • chrome.runtime.onStartup
  • chrome.runtime.onInstalled
  • chrome.runtime.onSuspend
  • chrome.runtime.onSuspendCanceled
  • chrome.runtime.onConnect
  • chrome.runtime.onMessage

chrome.storage​

Поддерживается только chrome.storage.local; chrome.storage.sync и chrome.storage.managed не поддерживаются.

chrome.tabs​

Поддерживаются следующие методы chrome.tabs:

  • chrome.tabs.sendMessage
  • chrome.tabs.reload
  • chrome.tabs.executeScript
  • chrome.tabs.update (частичная поддержка)
    • поддерживаемые свойства: url, muted.

Примечание: В Chrome передача -1 в качестве идентификатора вкладки означает "текущую активную вкладку". Поскольку Electron не имеет такого понятия, передача -1 в качестве идентификатора вкладки не поддерживается и вызовет ошибку.

chrome.management​

Поддерживаются следующие методы chrome.management:

  • chrome.management.getAll
  • chrome.management.get
  • chrome.management.getSelf
  • chrome.management.getPermissionWarningsById
  • chrome.management.getPermissionWarningsByManifest
  • chrome.management.onEnabled
  • chrome.management.onDisabled

chrome.webRequest​

Все возможности этого API поддерживаются.

ПРИМЕЧАНИЕ: Модуль webRequest Electron имеет приоритет над chrome.webRequest в случае конфликтующих обработчиков.

© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/api/extensions

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API