每個擴充功能的根目錄中都必須有 manifest.json
檔案,列出該擴充功能的結構和行為相關重要資訊。本頁面說明擴充功能資訊清單的結構,以及可納入的功能。
範例
下列範例資訊清單顯示基本資訊清單結構和一些常用的功能,可做為建立您自己的資訊清單的起點:
最少的資訊清單
{
"manifest_version": 3,
"name": "Minimal Manifest",
"version": "1.0.0",
"description": "A basic example extension with only required keys",
"icons": {
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
}
註冊內容指令碼
{
"manifest_version": 3,
"name": "Run script automatically",
"description": "Runs a script on www.example.com automatically when user installs the extension",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"content_scripts": [
{
"js": [
"content-script.js"
],
"matches": [
"http://*.example.com//"
]
}
]
}
插入內容指令碼
{
"manifest_version": 3,
"name": "Click to run",
"description": "Runs a script when the user clicks the action toolbar icon.",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"background": {
"service_worker": "service-worker.js"
},
"action": {
"default_icon": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
}
},
"permissions": ["scripting", "activeTab"]
}
權限彈出式視窗
{
"manifest_version": 3,
"name": "Popup extension that requests permissions",
"description": "Extension that includes a popup and requests host permissions and storage permissions .",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"action": {
"default_popup": "popup.html"
},
"host_permissions": [
"https://*.example.com/"
],
"permissions": [
"storage"
]
}
側邊面板
{
"manifest_version": 3,
"name": "Side panel extension",
"version": "1.0",
"description": "Extension with a default side panel.",
"icons": {
"16": "images/icon-16.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"side_panel": {
"default_path": "sidepanel.html"
},
"permissions": ["sidePanel"]
}
資訊清單鍵
以下是所有支援的資訊清單鍵清單。
擴充功能平台所需的金鑰
"manifest_version"
- 整數,指定擴充功能使用的資訊清單檔案格式版本。唯一支援的值為
3
。 "name"
- 在 Chrome 線上應用程式商店、安裝對話方塊和使用者的 Chrome 擴充功能頁面 (
chrome://extensions
) 中,用於識別擴充功能的字串。最大長度為 75 個字元。如要瞭解如何使用特定語言代碼名稱,請參閱「國際化」一文。 "version"
- 用於識別擴充功能版本號碼的字串。如要瞭解版本編號格式,請參閱「版本」一文。
Chrome 線上應用程式商店所需的金鑰
"description"
- 在 Chrome 線上應用程式商店和使用者的擴充功能管理頁面中,用來說明擴充功能的字串。長度上限為 132 個半形字元。如要瞭解如何將說明本地化,請參閱「國際化」一文。
"icons"
- 一或多個代表擴充功能的圖示。如要瞭解最佳做法,請參閱「圖示」。
選用鍵
"action"
- 定義 Google 工具列中擴充功能圖示的外觀和行為。詳情請參閱
chrome.action
。 "author"
- 指定用於建立擴充功能的帳戶電子郵件地址。
"background"
- 指定包含擴充功能服務工作者的 JavaScript 檔案,該檔案會做為事件處理常式。詳情請參閱「關於擴充功能服務 worker」。
"chrome_settings_overrides"
- 定義所選 Chrome 設定的覆寫值。詳情請參閱「覆寫 Chrome 設定」。
"chrome_url_overrides"
- 定義預設 Chrome 頁面的覆寫值。詳情請參閱「覆寫 Chrome 頁面」。
"commands"
- 定義擴充功能中的鍵盤快速鍵。詳情請參閱 chrome.commands。
"content_scripts"
- 指定使用者開啟特定網頁時要使用的 JavaScript 或 CSS 檔案。詳情請參閱「內容指令碼」。
"content_security_policy"
- 定義擴充功能可使用的指令碼、樣式和其他資源的限制。詳情請參閱「內容安全政策」。
"cross_origin_embedder_policy"
- 為 Cross-Origin-Embedder-Policy HTTP 標頭指定值,這可在擴充功能頁面中設定跨來源資源的嵌入方式。
"cross_origin_opener_policy"
- 指定 Cross-Origin-Opener-Policy HTTP 標頭的值,可確保頂層擴充功能頁面不會與跨來源文件共用瀏覽內容群組。
"declarative_net_request"
- 為 declarativeNetRequest API 定義靜態規則,可用於封鎖及修改網路要求。
"default_locale"
- 這個字串會定義支援多個語言代碼的擴充功能的預設語言。例如「en」和「pt_BR」。這個鍵是本地化版擴充功能的必要元素,且不得用於未經本地化的擴充功能。詳情請參閱「國際化」一文。
"devtools_page"
- 定義使用 DevTools API 的網頁。
"export"
- 允許從擴充功能匯出資源。詳情請參閱「匯出」一文。
"externally_connectable"
- 指定哪些其他網頁和擴充功能可連結至您的擴充功能。詳情請參閱
"externally_connectable"
。 "homepage_url"
- 用於指定擴充功能首頁網址的字串。如果未定義,主畫面的預設值會是擴充功能的 Chrome 線上應用程式商店頁面。如果您在自己的網站上代管擴充功能,這個欄位就特別實用。
"host_permissions"
- 列出擴充功能可與之互動的網頁,並使用網址比對模式定義。系統會在安裝時要求這些網站的使用者權限。詳情請參閱「主機權限」。
"import"
- 允許將資源匯入擴充功能。詳情請參閱「匯入」一文。
"incognito"
- 定義擴充功能在無痕模式下的行為。支援的值為
"spanning"
、"split"
和"not_allowed"
。詳情請參閱「無痕模式」 。 "key"
- 指定擴充功能的 ID,以便用於各種開發用途。詳情請參閱「金鑰」一節。
"minimum_chrome_version"
- 定義可安裝擴充功能的最舊 Chrome 版本。這個值必須是現有 Chrome 瀏覽器版本字串的子字串,例如
"107"
或"107.0.5304.87"
。如果使用者的 Chrome 版本低於最低版本,他們會在 Chrome 線上應用程式商店中看到「不相容」警告,且無法安裝您的擴充功能。如果將這項功能新增至現有擴充功能,Chrome 版本較舊的使用者就不會收到擴充功能的自動更新。這包括使用暫時模式的商業使用者。 "oauth2"
- 允許使用 OAuth 2.0 安全 ID。這個鍵的值必須是具有
"client_id"
和"scopes"
屬性的物件。詳情請參閱 OAuth 2.0 教學課程。 "omnibox"
- 允許擴充功能在 Chrome 網址列中註冊關鍵字。詳情請參閱「網址列」一文。
"optional_host_permissions"
- 宣告擴充功能的選用主機權限。
"optional_permissions"
- 為擴充功能宣告選用權限。
"options_page"
- 指定擴充功能用來做為選項頁面的 options.html 檔案路徑。詳情請參閱「為使用者提供選項」。
"options_ui"
- 指定 HTML 檔案的路徑,讓使用者可透過 Chrome 擴充功能頁面變更擴充功能選項。詳情請參閱「嵌入選項」。
"permissions"
- 可使用特定的擴充功能 API。如需一般說明,請參閱「權限」。個別 API 的參考資料頁面會列出所需的權限。
"requirements"
- 列出使用擴充功能所需的技術。如需支援的規定清單,請參閱「規定」。
"sandbox"
- 定義一組無法存取擴充功能 API 或直接存取非沙箱網頁的擴充功能網頁。詳情請參閱「沙箱」一文。
"short_name"
- 字串,包含縮寫的擴充功能名稱,可在字元空間有限時使用。長度上限為 12 個半形字元。如果未定義,系統會改為顯示「name」鍵的截斷版本。
"side_panel"
- 指出要顯示在 sidePanel 中的 HTML 檔案。
"storage"
- 為受管理的儲存空間宣告 JSON 結構定義。詳情請參閱「儲存空間區域的資訊清單」。
"tts_engine"
- 將擴充功能註冊為文字轉語音引擎。詳情請參閱 ttsEngine API。
"update_url"
- 包含擴充功能更新頁面網址的字串。如果您在 Chrome 線上應用程式商店以外的平台上代管擴充功能,請使用這個金鑰。
"version_name"
- 描述擴充功能版本的字串。例如
"1.0 beta"
和"build rc2"
。如未指定,則擴充功能管理頁面會顯示「version」值。 "web_accessible_resources"
- 定義擴充功能中的檔案,可供網頁或其他擴充功能存取。詳情請參閱「可存取的網站資源」。
選用的 ChromeOS 按鍵
"file_browser_handlers"
- 提供
fileBrowserHandler
API 存取權,讓擴充功能存取 ChromeOS 檔案瀏覽器。 "file_handlers"
- 指定 ChromeOS 擴充功能可處理的檔案類型。詳情請參閱「
file_handlers
」一文。 "file_system_provider_capabilities"
- 允許存取
fileSystemProvider
API,讓擴充功能建立 ChromeOS 可用的檔案系統。 "input_components"
- 允許使用輸入法編輯器 API。詳情請參閱
input_components
的說明。