Обновить манифест

Преобразование манифеста версии 2 в манифест версии 3.

Для файла manifest.json требуется немного другой формат для Manifest V3, чем для Manifest V2. На этой странице описаны изменения, которые затрагивают только файл manifest.json . Но многие изменения в скриптах и ​​страницах также требуют изменений в манифесте. Эти изменения охватываются задачами миграции, которые их требуют.

Изменить номер версии манифеста

Измените значение поля "manifest_version" с 2 на 3.

Манифест V2
{
  ...
  "manifest_version": 2
  ...
}
Манифест V3
{
  ...
  "manifest_version": 3
  ...
}

Обновить разрешения хоста

Разрешения хоста в Манифесте V3 представляют собой отдельное поле; вы не указываете их в "permissions" или в "optional_permissions" .

Скрипты контента остаются в папке "content_scripts.matches" . Дополнительную информацию о "content_scripts.matches" см. в разделе « Внедрение со статическими объявлениями ».

Манифест V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Манифест V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

Обновите доступные веб-ресурсы

Доступные веб-ресурсы — это файлы внутри расширения, к которым могут получить доступ веб-страницы или другие расширения. Как реализовано в Манифесте V2, поле "web_accessible_resources" делало расширения обнаруживаемыми веб-сайтами и злоумышленниками, если расширение решило раскрыть ресурсы. Это создало возможности для снятия отпечатков пальцев или непреднамеренного доступа к ресурсам.

Манифест V3 ограничивает воздействие, ограничивая то, какие веб-сайты и расширения могут получать доступ к ресурсам вашего расширения. Вместо предоставления списка файлов, как раньше, теперь вы предоставляете массив объектов , каждый из которых сопоставляет набор ресурсов набору URL-адресов или идентификаторов расширений.

В приведенном ниже примере сравниваются доступные через Интернет ресурсы Manifest V2 и Manifest V3. В Манифесте V2 указанные ресурсы по умолчанию были доступны всем веб-сайтам. В приведенном ниже коде манифеста V3 эти ресурсы доступны только для https://example.com , тогда как для всех веб-сайтов доступны только определенные изображения.

Дополнительные сведения см. в разделах Доступные веб-ресурсы и Шаблоны сопоставления .

Манифест V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
Манифест V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}