每個擴充功能的根目錄都必須有 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"
- 指定包含擴充功能 Service Worker 的 JavaScript 檔案,該檔案會做為事件處理常式。詳情請參閱「關於擴充功能服務工作站」。
"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 個半形字元。如果未定義,則系統會改為顯示截斷的「名稱」金鑰。
"side_panel"
- 找出要顯示在sidePanel的 HTML 檔案。
"storage"
- 宣告代管儲存空間區域的 JSON 結構定義。詳情請參閱「儲存空間區域資訊清單」。
"tts_engine"
- 將擴充功能註冊為文字轉語音引擎。詳情請參閱 ttsEngine API。
"update_url"
- 包含擴充功能更新頁面網址的字串。如果您是在 Chrome 線上應用程式商店外代管擴充功能,請使用這組金鑰。
"version_name"
- 說明擴充功能版本的字串。範例包括
"1.0 beta"
和"build rc2"
。如未指定,系統會改為在擴充功能管理頁面中顯示「版本」值。 "web_accessible_resources"
- 定義擴充功能中可供網頁或其他擴充功能存取的檔案。詳情請參閱網路可存取的資源。
選用的 ChromeOS 金鑰
"file_browser_handlers"
- 提供
fileBrowserHandler
API 的存取權,可讓擴充功能存取 ChromeOS 檔案瀏覽器。 "file_handlers"
- 指定 ChromeOS 擴充功能要處理的檔案類型。詳情請參閱「
file_handlers
」一文。 "file_system_provider_capabilities"
- 允許存取
fileSystemProvider
API,方便擴充功能建立 ChromeOS 可用的檔案系統。 "input_components"
- 允許使用 Input Method Editor API。詳情請參閱
input_components
的說明。