แปลงไฟล์ Manifest V2 เป็นไฟล์ Manifest V3
ไฟล์ manifest.json
สำหรับ Manifest V3 ต้องใช้รูปแบบที่แตกต่างจาก Manifest V2 เล็กน้อย หน้านี้อธิบายการเปลี่ยนแปลงที่ส่งผลต่อไฟล์ manifest.json
เท่านั้น แต่การเปลี่ยนแปลงสคริปต์และหน้าเว็บหลายรายการก็จำเป็นต้องมีการเปลี่ยนแปลงไฟล์ Manifest ด้วย การเปลี่ยนแปลงเหล่านี้จะรวมอยู่ในงานย้ายข้อมูลที่ต้องใช้การเปลี่ยนแปลงดังกล่าว
เปลี่ยนหมายเลขเวอร์ชันไฟล์ Manifest
เปลี่ยนค่าของช่อง "manifest_version"
จาก 2 เป็น 3
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
อัปเดตสิทธิ์ของโฮสต์
สิทธิ์ของโฮสต์ใน Manifest V3 เป็นช่องแยกต่างหาก คุณจึงไม่ต้องระบุสิทธิ์ใน "permissions"
หรือใน "optional_permissions"
สคริปต์เนื้อหายังคงอยู่ภายใต้ "content_scripts.matches"
ดูข้อมูลเกี่ยวกับ "content_scripts.matches"
ได้ที่แทรกด้วยประกาศแบบคงที่
{ ... "permissions": [ "tabs", "bookmarks", "https://www.blogger.com/", ], "optional_permissions": [ "unlimitedStorage", "*://*/*", ] ... }
{ ... "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
เท่านั้น ขณะที่รูปภาพบางรายการใช้ได้กับทุกเว็บไซต์
โปรดดูข้อมูลเพิ่มเติมที่ทรัพยากรที่เข้าถึงได้ทางเว็บและรูปแบบการจับคู่
{ ... "web_accessible_resources": [ "images/*", "style/extension.css", "script/extension.js" ], ... }
{ ... "web_accessible_resources": [ { "resources": [ "images/*" ], "matches": [ "*://*/*" ] }, { "resources": [ "style/extension.css", "script/extension.js" ], "matches": [ "https://example.com/*" ] } ], ... }