Переход на манифест V3

Руководство по преобразованию расширений Manifest V2 в расширения Manifest V3.

В этом разделе вы можете обновить расширение с Manifest V2 до Manifest V3, новейшей версии платформы расширений Chrome. Миграционная работа в целом разделена на категории, представленные ниже. Чтобы помочь вам отслеживать свою работу, мы предоставили контрольный список , обобщающий содержание этих документов. Вы можете получить доступ к контенту через контрольный список или погрузиться в контент. Оба пути заканчиваются обновленным расширением.

  • Обновите манифест. manifest.json должен быть специфичным для V3. Изменения, которые можно внести самостоятельно, описаны в этом разделе. Изменения манифеста, связанные с кодом, описываются с помощью изменений кода, которые они поддерживают.
  • Миграция на сервисного работника . Сервисный работник заменяет фон расширения или страницу событий, чтобы фоновый код не попадал в основной поток, где это может снизить производительность. Это изменение также требует перемещения DOM, окон и вызовов API некоторых расширений в закадровые документы.
  • Обновление вызовов API. Некоторые вызовы API необходимо заменить более современными эквивалентами.
  • Замените блокирующие прослушиватели веб-запросов. Блокировка или изменение сетевых запросов в Manifest V2 может значительно снизить производительность и потребовать чрезмерного доступа к конфиденциальным пользовательским данным. API декларативного сетевого запроса позволяет расширениям блокировать или изменять веб-контент с меньшим количеством разрешений и без снижения производительности.
  • Повышение безопасности расширений. Манифест V3 повышает безопасность расширений несколькими способами. Помимо расширенной политики безопасности контента, удалена поддержка удаленно размещенного кода и выполнения произвольных строк.
  • Опубликуйте расширение. В этом разделе описывается, как выполнить поэтапное развертывание, чтобы убедиться, что расширение Manifest V3 работает должным образом, предварительно протестировав его на ограниченной аудитории.

У нас также есть конвертер манифеста расширений . Он не сделает все за вас, но поможет вам начать. README конвертера описывает, что меняет инструмент.

Сохранить текущий набор функций

Чтобы снизить вероятность возникновения неожиданных проблем или ошибок, мы рекомендуем не добавлять новые функции при миграции. Например, добавление функции, требующей новых разрешений, может вызвать предупреждение о разрешении , в результате чего ваше расширение отключится до тех пор, пока пользователь не примет новые разрешения. Ознакомьтесь с рекомендациями по предупреждению о разрешениях , чтобы узнать о других способах добавления разрешений без отображения предупреждения.

Манифест V3 обычно поддерживается в Chrome 88 и более поздних версиях. При обновлении вызовов API вы можете обнаружить, что заменяющие функции появились в Chrome только после версии 88. Справочные страницы API содержат информацию о поддержке для отдельных участников API. Если вы обнаружите, что вам нужна одна из этих функций, вы можете указать минимальную версию Chrome в файле манифеста.

Новые возможности платформы расширений

С момента выпуска Manifest V3 мы продолжали добавлять новые функции , многие из которых можно использовать как в Manifest V2, так и в Manifest V3. Вам не обязательно использовать их при конвертации; однако, когда они заменяют старые функции, вам следует предпочесть их функциям, которые они заменяют, и ожидать, что замененные функции в конечном итоге устареют и будут удалены.