Zum Hauptteil springen

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.

See official documentation for more information.

chrome.devtools.network

Alle Funktionen dieser API werden unterstützt.

See official documentation for more information.

chrome.devtools.panels

Alle Funktionen dieser API werden unterstützt.

See official documentation for more information.

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

See official documentation for more information.

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

See official documentation for more information.

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

See official documentation for more information.

chrome.scripting

Alle Funktionen dieser API werden unterstützt.

See official documentation for more information.

chrome.storage

Die folgenden Methoden von chrome.storage werden unterstützt:

  • chrome.storage.local

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

See official documentation for more information.

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.
  • chrome.tabs.update (Teilunterstützung)
    • Unterstützte Eigenschaften: url, muted.

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.

See official documentation for more information.

chrome.webRequest

Alle Funktionen dieser API werden unterstützt.

HINWEIS: Electron's webRequest Modul hat Vorrang vor chrome.webRequest, wenn es widersprüchliche Handler gibt.

See official documentation for more information.