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
. Para cargar una extensión, llame a 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.
Consulta la documentación de session
para más información sobre carga, descarga y consulta sobre extensiones activas.
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
.
- supported properties:
chrome.tabs.update
(soporte parcial)- propiedades soportadas:
url
,muted
.
- propiedades soportadas:
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.
NOTA: El módulo
webRequest
de Electron tiene precedencia sobrechrome.webRequest
si hay manejadores en conflicto.
See official documentation for more information.