Chrome 拡張機能サポート
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.
注意: Electron はストアのすべての Chrome 拡張機能はサポートしていません。Chrome の拡張機能の実装と完全に互換性を持たせることは Electron プロジェクトの 目標ではありません。
拡張機能の読み込み
Electron は解凍された拡張機能のみの読み込みをサポートしています (例えば .crx
ファイルは動作しません)。 拡張機能は session
ごとにインストールされます。 拡張機能を読み込むには、以下のように ses.loadExtension
を呼び出します。
const { session } = require('electron')
session.defaultSession.loadExtension('path/to/unpacked/extension').then(({ id }) => {
// ...
})
読み込まれた拡張機能は終了時に自動で記憶されません。アプリを実行する度にloadExtension
を呼び出さないと、拡張子は読み込まれません。
注意として、拡張機能の読み込みは持続する session でのみサポートされます。 拡張機能をメモリで一時的な session に読み込もうとすると、エラーが送出されます。
有効な拡張機能の読み込み、解除、クエリについての詳細は session
のドキュメントを参照してください。
サポートする拡張機能 API
いくつかの注意点はありますが、以下の拡張機能 API をサポートしています。 他の API も 追加でサポートされる可能性がありますが、ここに記載されていない API のサポートは暫定であり、削除される可能性があります。
サポートする Manifest のキー
usage-limits
version
author
permissions
content_scripts
default_locale
devtools_page
short_name
host_permissions
(Manifest V3)manifest_version
background
(Manifest V2)minimum_chrome_version
指定可能な各キーの意味については、Manifest ファイルフォーマット をご参照ください。
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
詳しくは 公式ドキュメント を参照して下さい。