跳至主要內容

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.syncchrome.storage.managed

如需更多資訊,請參閱官方文件

chrome.tabs

支援 chrome.tabs 的下列方法

  • chrome.tabs.sendMessage
  • chrome.tabs.reload
  • chrome.tabs.executeScript
  • chrome.tabs.query(部分支援)
    • 支援的屬性:urltitleaudibleactivemuted
  • chrome.tabs.update(部分支援)
    • 支援的屬性:urlmuted

注意:在 Chrome 中,將 -1 作為分頁 ID 表示「目前活動的分頁」。由於 Electron 沒有此概念,因此不支援將 -1 作為分頁 ID,且將會引發錯誤。

如需更多資訊,請參閱官方文件

chrome.webRequest

支援此 API 的所有功能。

注意:如果存在衝突的處理常式,Electron 的 webRequest 模組會優先於 chrome.webRequest

如需更多資訊,請參閱官方文件