Unterstützung für Chrome-Erweiterungen
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.
Note: Electron does not support arbitrary Chrome extensions from the store, and it is a non-goal of the Electron project to be perfectly compatible with Chrome's implementation of Extensions.
Erweiterungen laden
Electron only supports loading unpacked extensions (i.e., .crx
files do not work). Extensions are installed per-session
. Um eine Erweiterung zu laden, rufen Sie ses.loadExtension
auf:
const { session } = require('electron')
session.defaultSession.loadExtension('path/to/unpacked/extension').then(({ id }) => {
// ...
})
Geladene Erweiterungen werden bei Beenden nicht automatisch gespeichert; wenn Sie nicht loadExtension
aufrufen, wenn die App läuft, wird die Erweiterung nicht geladen.
Beachten Sie, dass das Laden von Erweiterungen nur in anhaltenden Sitzungen unterstützt wird. Der Versuch, eine Erweiterung in eine gespeicherten Sitzung zu laden, wirft einen Fehler auf.
Lesen Sie die session
Dokumentation für weitere Informationen über Laden, Entladen und Abfragen von aktiven Erweiterungen.
Unterstützte Erweiterungen APIs
Wir unterstützen die folgenden Erweiterungen APIs, mit einigen Vorbehalten. Andere APIs werden möglicherweise auch unterstützt, aber Unterstützung für APIs, die hier nicht gelistet sind, ist provisorisch und könnte entfernt werden.
Supported Manifest Keys
name
version
author
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.
chrome.devtools.inspectedWindow
Alle Funktionen dieser API werden unterstützt.
chrome.devtools.network
Alle Funktionen dieser API werden unterstützt.
chrome.devtools.panels
Alle Funktionen dieser API werden unterstützt.
chrome.extension
Die folgenden Eigenschaften von chrome.extension
werden unterstützt:
chrome.extension.lastError
Die folgenden Methoden von chrome.extension
werden unterstützt:
chrome.extension.getURL
chrome.extension.getBackgroundPage
chrome.runtime
Die folgenden Eigenschaften von chrome.runtime
werden unterstützt:
chrome.runtime.lastError
chrome.runtime.id
Die folgenden Methoden von chrome.runtime
werden unterstützt:
chrome.runtime.getBackgroundPage
chrome.runtime.getManifest
chrome.runtime.getPlatformInfo
chrome.runtime.getURL
chrome.runtime.connect
chrome.runtime.sendMessage
chrome.runtime.reload
Die folgenden Ereignisse von chrome.runtime
werden unterstützt:
chrome.runtime.onStartup
chrome.runtime.onInstalled
chrome.runtime.onSuspend
chrome.runtime.onSuspendCanceled
chrome.runtime.onConnect
chrome.runtime.onMessage
chrome.storage
Die folgenden Methoden von chrome.storage
werden unterstützt:
chrome.storage.local
chrome.tabs
Die folgenden Methoden von chrome.tabs
werden unterstützt:
chrome.tabs.sendMessage
chrome.tabs.reload
chrome.tabs.executeScript
chrome.tabs.query
(Teilunterstützung)- Unterstützte Eigenschaften:
url
,title
,audible
,active
,muted
.
- Unterstützte Eigenschaften:
chrome.tabs.update
(Teilunterstützung)- Unterstützte Eigenschaften:
url
,muted
.
- Unterstützte Eigenschaften:
Hinweis: In Chrome bezeichnet das Übergeben von
-1
als Tab-ID den "derzeit aktiven Tab". Da Electron kein solches Konzept hat, wird das Übergeben von-1
als Tab-ID nicht unterstützt und führt zu einem Fehler.
chrome.management
Die folgenden Methoden von chrome.management
werden unterstützt:
chrome.management.getAll
chrome.management.get
chrome.management.getSelf
chrome.management.getPermissionWarningsById
chrome.management.getPermissionWarningsByManifest
Die folgenden Methoden von chrome.management
werden unterstützt:
chrome.management.onEnabled
chrome.management.onDisabled
chrome.webRequest
Alle Funktionen dieser API werden unterstützt.
HINWEIS: Electron's
webRequest
Modul hat Vorrang vorchrome.webRequest
, wenn es widersprüchliche Handler gibt.