資訊清單檔案格式

每個擴充功能的根目錄中都必須有 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 的說明。