Chrome 擴充功能支援
Electron 支援 Chrome 擴充功能 API 的子集,主要用於支援 DevTools 擴充功能和 Chromium 內部擴充功能,但也支援其他一些擴充功能。
注意:Electron 不支援來自商店的任意 Chrome 擴充功能,並且與 Chrome 的擴充功能實作完全相容並不是 Electron 專案的目標。
載入擴充功能
Electron 僅支援載入未封裝的擴充功能(即 .crx
檔案無法運作)。擴充功能是依每個 session
安裝。若要載入擴充功能,請呼叫 ses.loadExtension
const { session } = require('electron')
session.defaultSession.loadExtension('path/to/unpacked/extension').then(({ id }) => {
// ...
})
載入的擴充功能不會在退出時自動記住;如果應用程式執行時沒有呼叫 loadExtension
,則不會載入擴充功能。
請注意,僅在持續性工作階段中支援載入擴充功能。嘗試將擴充功能載入記憶體工作階段將會擲回錯誤。
如需關於載入、卸載和查詢作用中擴充功能的更多資訊,請參閱 session
文件。
支援的擴充功能 API
我們支援下列擴充功能 API,但有一些注意事項。可能還支援其他 API,但對未在此列出的任何 API 的支援是暫時性的,可能會被移除。
支援的資訊清單金鑰
name
version
author
permissions
content_scripts
default_locale
devtools_page
short_name
host_permissions
(資訊清單 V3)manifest_version
background
(資訊清單 V2)minimum_chrome_version
如需關於每個可能金鑰的用途的更多資訊,請參閱資訊清單檔案格式。
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
如需更多資訊,請參閱官方文件。
chrome.management
支援 chrome.management
的下列方法
chrome.management.getAll
chrome.management.get
chrome.management.getSelf
chrome.management.getPermissionWarningsById
chrome.management.getPermissionWarningsByManifest
支援 chrome.management
的下列事件
chrome.management.onEnabled
chrome.management.onDisabled
如需更多資訊,請參閱官方文件。
chrome.runtime
支援 chrome.runtime
的下列屬性
chrome.runtime.lastError
chrome.runtime.id
支援 chrome.runtime
的下列方法
chrome.runtime.getBackgroundPage
chrome.runtime.getManifest
chrome.runtime.getPlatformInfo
chrome.runtime.getURL
chrome.runtime.connect
chrome.runtime.sendMessage
chrome.runtime.reload
支援 chrome.runtime
的下列事件
chrome.runtime.onStartup
chrome.runtime.onInstalled
chrome.runtime.onSuspend
chrome.runtime.onSuspendCanceled
chrome.runtime.onConnect
chrome.runtime.onMessage
如需更多資訊,請參閱官方文件。
chrome.scripting
支援此 API 的所有功能。
如需更多資訊,請參閱官方文件。
chrome.storage
支援 chrome.storage
的下列方法
chrome.storage.local
不支援 chrome.storage.sync
和 chrome.storage.managed
。
如需更多資訊,請參閱官方文件。
chrome.tabs
支援 chrome.tabs
的下列方法
chrome.tabs.sendMessage
chrome.tabs.reload
chrome.tabs.executeScript
chrome.tabs.query
(部分支援)- 支援的屬性:
url
、title
、audible
、active
、muted
。
- 支援的屬性:
chrome.tabs.update
(部分支援)- 支援的屬性:
url
、muted
。
- 支援的屬性:
注意:在 Chrome 中,將
-1
作為分頁 ID 表示「目前活動的分頁」。由於 Electron 沒有此概念,因此不支援將-1
作為分頁 ID,且將會引發錯誤。
如需更多資訊,請參閱官方文件。
chrome.webRequest
支援此 API 的所有功能。
注意:如果存在衝突的處理常式,Electron 的
webRequest
模組會優先於chrome.webRequest
。
如需更多資訊,請參閱官方文件。