每個擴充功能都必須在根目錄中包含 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"- 代表擴充功能的圖示 (一或多個)。如要瞭解最佳做法,請參閱「Icons」。
選用鍵
"action"- :定義擴充功能圖示在 Google 工具列中的外觀和行為。詳情請參閱「
chrome.action」。 "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 個字元。如果未定義,系統會改為顯示「name」鍵的截斷版本。
"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"- 提供
fileBrowserHandlerAPI 的存取權,讓擴充功能存取 ChromeOS 檔案瀏覽器。 "file_handlers"- 指定 ChromeOS 擴充功能要處理的檔案類型。詳情請參閱「
file_handlers」一文。 "file_system_provider_capabilities"- 允許存取
fileSystemProviderAPI,讓擴充功能建立 ChromeOS 可用的檔案系統。 "input_components"- 允許使用輸入法編輯器 API。詳情請參閱
input_components的說明。