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 cho Manifest V3 hơi khác so với định dạng cho 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 thay đổi tệp kê khai. Những thay đổi đó thuộc các tác vụ di chuyển yêu cầu chúng.

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
  ...
}
Tệp kê khai V3
{
  ...
  "manifest_version": 3
  ...
}

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

Quyền lưu trữ trong Manifest V3 là một trường riêng biệt; bạn không chỉ định quyền này trong "permissions" hoặc trong "optional_permissions".

Tập lệnh nội dung vẫn trong "content_scripts.matches". 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 được. Như được triển khai trong Manifest V2, trường "web_accessible_resources" giúp các trang web và kẻ tấn công có thể phát hiện tiện ích nếu tiện ích đó chọn tiết lộ tài nguyên. Điều này tạo ra cơ hội để tạo vân tay số hoặc vô tình truy cập vào tài nguyên.

Manifest V3 giới hạn mức độ 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 đây, bạn hiện cung cấp một mảng đối tượng, mỗi đối tượng ánh xạ một nhóm tài nguyên với một tập hợp URL hoặc mã 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 Manifest V2, theo mặc định, tất cả trang web đều có thể truy cập vào các tài nguyên được chỉ định. Trong mã Manifest V3 minh hoạ bên dưới, những tài nguyên này chỉ có sẵn cho https://example.com, trong khi chỉ có một số hình ảnh nhất định truy cập được trên mọi trang web.

Để biết thêm thông tin, hãy xem các bài viết 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"
  ],
  ...
}
Tệp kê khai V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}