更新資訊清單

將 V2 資訊清單轉換為 V3 資訊清單

manifest.json 檔案的 Manifest V3 與 Manifest V2 格式稍有不同。本頁說明只會影響 manifest.json 檔案的變更。但對指令碼和網頁所做的許多變更也需要變更資訊清單。這些變更已包含在需要這些變更的遷移工作中。

變更資訊清單版本號碼

"manifest_version" 欄位的值從 2 變更為 3。

Manifest V2
{
  ...
  "manifest_version": 2
  ...
}
Manifest V3
{
  ...
  "manifest_version": 3
  ...
}

更新主機權限

Manifest V3 中的主機權限是獨立欄位,請勿在 "permissions""optional_permissions" 中指定。

內容指令碼仍保持在 "content_scripts.matches" 下。如要瞭解 "content_scripts.matches",請參閱「使用靜態宣告插入」。

Manifest V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Manifest V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

更新可透過網路存取的資源

網路可存取資源是指擴充功能中的檔案,可透過網頁或其他擴充功能存取。如同在 Manifest V2 中實作的,"web_accessible_resources" 欄位使擴充功能選擇公開資源時,網站和攻擊者皆可偵測擴充功能。這創造了數位指紋採集或意外的資源存取機會。

Manifest V3 會限制哪些網站和擴充功能可以存取擴充功能中的資源,藉此限制曝光。現在您不必再提供檔案清單,而是提供物件陣列,每個物件都會將一組資源對應至一組網址或擴充功能 ID。

以下範例比較 Manifest V2 和 Manifest V3 的 Web 可存取資源。在 Manifest V2 中,所有網站預設可存取指定資源。在下方顯示的 Manifest V3 程式碼中,這些資源僅供 https://example.com 使用,但只有特定圖片可供所有網站使用。

詳情請參閱可供網路存取的資源比對模式

Manifest V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
Manifest V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}