อัปเดตไฟล์ Manifest

แปลงไฟล์ Manifest V2 เป็นไฟล์ Manifest V3

ไฟล์ manifest.json สำหรับ Manifest V3 ต้องใช้รูปแบบที่แตกต่างจาก Manifest V2 เล็กน้อย หน้านี้อธิบายการเปลี่ยนแปลงที่ส่งผลต่อไฟล์ manifest.json เท่านั้น แต่การเปลี่ยนแปลงสคริปต์และหน้าเว็บหลายรายการก็จำเป็นต้องมีการเปลี่ยนแปลงไฟล์ Manifest ด้วย การเปลี่ยนแปลงดังกล่าวจะรวมอยู่ในงานย้ายข้อมูลที่ต้องดำเนินการ

เปลี่ยนหมายเลขเวอร์ชันไฟล์ Manifest

เปลี่ยนค่าของช่อง "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 จำกัดการแสดงโดยจำกัดเว็บไซต์และส่วนขยายที่เข้าถึงทรัพยากรในส่วนขยายได้ ตอนนี้คุณจะต้องระบุอาร์เรย์ของออบเจ็กต์แทนการระบุรายการไฟล์เหมือนก่อนหน้านี้ โดยแต่ละรายการจะแมปชุดทรัพยากรกับชุด URL หรือรหัสชิ้นงาน

ตัวอย่างด้านล่างเปรียบเทียบทรัพยากรที่เข้าถึงได้ทางเว็บระหว่างไฟล์ Manifest V2 กับไฟล์ Manifest V3 ใน 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/*"
     
]
   
}
 
],
 
...
}