更新資訊清單

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

manifest.json 檔案的格式與資訊清單 V3 略有不同。本頁說明只會影響 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": [
   
"*://*/*",
 
]
 
...
}

更新可存取網頁的資源

網頁可存取的資源是指擴充功能中的檔案,可由網頁或其他擴充功能存取。如同在資訊清單 V2 中實作,如果擴充功能選擇公開資源,"web_accessible_resources" 欄位會讓網站和攻擊者偵測到擴充功能。這會導致指紋記錄或意外的資源存取。

透過限制哪些網站和擴充功能可存取擴充功能中的資源,資訊清單 V3 可限制曝光率。您現在提供物件陣列,而非像先前那樣提供檔案清單,每個物件都會將一組資源對應至一組網址或擴充功能 ID。

以下範例比較了 Manifest V2 和 Manifest V3 之間的網路存取資源。在 Manifest V2 中,根據預設,所有網站都能存取指定的資源。在下方顯示的資訊清單 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/*"
     
]
   
}
 
],
 
...
}