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 Tệp kê khai V3 so với Tệp kê khai 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 đó được đề cập trong các nhiệm vụ di chuyển cần đến 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 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 cơ hội cho việc tạo vân tay số hoặc truy cập vào tài nguyên ngoài ý muốn.

Tệp kê khai 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, 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ã Tệp kê khai V3 hiển thị bên dưới, các tài nguyên này chỉ dành cho https://example.com, trong khi chỉ một số hình ảnh nhất định mới dành 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"
  ],
  ...
}
Tệp kê khai V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}