อัปเดตไฟล์ 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/*"
      ]
    }
  ],
  ...
}