Преобразование манифеста версии 2 в манифест версии 3.
Для файла manifest.json
V3 требуется немного другой формат, чем для манифеста V2. На этой странице описаны изменения, которые затрагивают только файл manifest.json
. Но многие изменения в скриптах и страницах также требуют изменений в манифесте. Эти изменения охватываются задачами миграции, которые их требуют.
Изменить номер версии манифеста
Измените значение поля "manifest_version"
с 2 на 3.
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
Обновить разрешения хоста
Разрешения хоста в Манифесте V3 представляют собой отдельное поле; вы не указываете их в "permissions"
или в "optional_permissions"
.
Сценарии контента остаются в папке "content_scripts.matches"
. Дополнительную информацию о "content_scripts.matches"
см. в разделе «Внедрение со статическими объявлениями ».
{ ... "permissions": [ "tabs", "bookmarks", "https://www.blogger.com/", ], "optional_permissions": [ "unlimitedStorage", "*://*/*", ] ... }
{ ... "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
, тогда как для всех веб-сайтов доступны только определенные изображения.
Дополнительные сведения см. в разделах Доступные веб-ресурсы и Шаблоны сопоставления .
{ ... "web_accessible_resources": [ "images/*", "style/extension.css", "script/extension.js" ], ... }
{ ... "web_accessible_resources": [ { "resources": [ "images/*" ], "matches": [ "*://*/*" ] }, { "resources": [ "style/extension.css", "script/extension.js" ], "matches": [ "https://example.com/*" ] } ], ... }