Cập nhật tệp kê khai

Chuyển đổi tệp kê khai V2 thành tệp kê khai V3

Tệp manifest.json yêu cầu định dạng hơi khác cho Manifest V3 so với Manifest V2. Trang này mô tả các thay đổi chỉ ảnh hưởng đến tệp manifest.json. Tuy nhiên, nhiều thay đổi đối với tập lệnh và trang cũng yêu cầu phải thay đổi tệp kê khai. Những thay đổi đó đề cập đến những nhiệm vụ di chuyển cần đến.

Thay đổi số phiên bản tệp kê khai

Thay đổi giá trị của trường "manifest_version" từ 2 thành 3.

Tệp kê khai V2
{
  ...
  "manifest_version": 2
  ...
}
Manifest V3 (Tệp kê khai phiên bản 3)
{
  ...
  "manifest_version": 3
  ...
}

Cập nhật quyền của máy chủ

Quyền của máy chủ trong Tệp kê khai V3 là một trường riêng biệt; bạn không chỉ định các quyền này trong "permissions" hoặc trong "optional_permissions".

Tập lệnh nội dung vẫn nằm trong "content_scripts.matches". Hãy xem phần Chèn bằng nội dung khai báo tĩnh để biết thông tin về "content_scripts.matches".

Tệp kê khai V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Tệp kê khai V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

Cập nhật tài nguyên có thể truy cập trên web

Tài nguyên có thể truy cập trên web là các tệp bên trong một tiện ích mà các trang web hoặc tiện ích khác có thể truy cập. Như đã triển khai trong Manifest V2, trường "web_accessible_resources" giúp các trang web và kẻ tấn công phát hiện được tiện ích nếu tiện ích đó chọn hiển thị tài nguyên. Điều này tạo ra cơ hội tạo vân tay số hoặc truy cập tài nguyên ngoài ý muốn.

Tệp kê khai Manifest V3 giới hạn phạm vi hiển thị bằng cách hạn chế những trang web và tiện ích có thể truy cập vào tài nguyên trong tiện ích của bạn. Thay vì cung cấp danh sách tệp như trước, giờ đây, bạn sẽ cung cấp mảng đối tượng, mỗi đối tượng liên kết một nhóm tài nguyên với một nhóm URL hoặc mã nhận dạng tiện ích.

Ví dụ bên dưới so sánh các tài nguyên có thể truy cập trên web giữa Manifest V2 và Manifest V3. Trong tệp kê khai V2, tất cả các trang web đều có thể truy cập vào các tài nguyên được chỉ định theo mặc định. Trong mã Manifest V3 hiển thị bên dưới, những tài nguyên này chỉ có sẵn cho https://example.com, trong khi chỉ một số hình ảnh nhất định có sẵn cho tất cả các trang web.

Để biết thêm thông tin, hãy xem phần Tài nguyên có thể truy cập trên webMẫu so khớp.

Tệp kê khai V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
Manifest V3 (Tệp kê khai phiên bản 3)
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}