Saltar al contenido principal

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.

Nota: Electron no soporta extensiones arbitrarias de Chrome desde tienda, y no es un objetivo del proyecto Electron ser perfectamente compatible con las implementaciones de extensiones de Chrome.

Cargar extensiones​

Electron solo soporta carga de extensiones desempaquetadas (por ejemplo, los archivos .crx no funcionan). Las extensiones se instalan por -session. To load an extension, call ses.loadExtension:

const { session } = require('electron')

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

Las extensiones cargadas no serán automáticamente recordadas entre salidas; si no se llama loadExtension cuando se ejecuta la aplicación, la extensión no se cargará.

Tenga en cuenta que la carga de extensiones solo es soportada en sesiones persistentes. Intentar cargar una extensión en una sesión en memoria arrojará un error.

See the session documentation for more information about loading, unloading, and querying active extensions.

APIs de Extensiones Soportadas​

Soportamos las siguientes APIs de extensiones, con algunas advertencias. Otras APIs pueden ser soportadas adicionalmente, pero el soporte para cualquier API no listada aquí es provisional y puede ser eliminado.

Supported Manifest Keys​

  • name (nombre)
  • version
  • author (autor)
  • permisos
  • 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.

chrome.devtools.inspectedWindow​

Todas las características de esta API son compatibles.

See official documentation for more information.

chrome.devtools.network​

Todas las características de esta API son compatibles.

See official documentation for more information.

chrome.devtools.panels​

Todas las características de esta API son compatibles.

See official documentation for more information.

chrome.extension​

Se admiten las siguientes propiedades de chrome.extension :

  • chrome.extension.lastError

Los siguientes métodos de chrome.extension son soportados:

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

See official documentation for more information.

chrome.management​

Los siguientes métodos de chrome.management son soportados:

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

Los siguientes eventos de chrome.management están soportados:

  • chrome.management.onEnabled
  • chrome.management.onDisabled

See official documentation for more information.

chrome.runtime​

Las siguientes propiedades de chrome.runtime son soportadas:

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

Los siguientes métodos de chrome.runtime son soportados:

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

Los siguientes eventos de chrome.runtime están soportados:

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

See official documentation for more information.

chrome.scripting​

Todas las características de esta API son compatibles.

See official documentation for more information.

chrome.storage​

Los siguientes métodos de chrome.storage son soportados:

  • chrome.storage.local

chrome.storage.sync and chrome.storage.managed are not supported.

See official documentation for more information.

chrome.tabs​

Los siguientes métodos de chrome.tabs son soportados:

  • chrome.tabs.sendMessage
  • chrome.tabs.reload
  • chrome.tabs.executeScript
  • chrome.tabs.query (soporte parcial)
    • supported properties: url, title, audible, active, muted.
  • chrome.tabs.update (soporte parcial)
    • propiedades soportadas: url, muted.

Nota: En Chrome, pasando -1 como ID de la pestaña significa "la pestaña actualmente activa". Dado que Electron no tiene tal concepto, pasar -1 como un ID de pestaña no está soportado y lanzara un error.

See official documentation for more information.

chrome.webRequest​

Todas las características de esta API son compatibles.

NOTE: Electron's webRequest module takes precedence over chrome.webRequest if there are conflicting handlers.

See official documentation for more information.