Spec-Zone.ru › Web Extensions

Фон

Тип Object
Обязательно Нет
Версия манифеста 2 или выше
Пример
"background": {
  "scripts": ["background.js"]
}

Используйте ключ background для включения одного или нескольких фоновых скриптов или фоновой страницы в расширение.

Фоновые скрипты — это место для кода, которому необходимо поддерживать долговременное состояние или выполнять длительные операции независимо от жизненного цикла конкретных веб-страниц или окон браузера.

Фоновые скрипты загружаются сразу после загрузки расширения и остаются загруженными до тех пор, пока расширение не будет отключено или удалено, если persistent не указано как false. Вы можете использовать любые API WebExtension в скрипте, если у вас запрошены необходимые разрешения.

См. Фоновые скрипты для получения дополнительной информации.

Ключ background — это объект, который должен иметь одно из этих свойств:

scripts

Массив Array Strings, каждый из которых является путем к JavaScript-источнику. Путь относится к файлу manifest.json. Это скрипты, выполняемые на фоновой странице расширения.

Скрипты используют один и тот же window глобальный контекст.

Скрипты загружаются в порядке их появления в массиве.

Если вы укажете scripts, будет создана пустая страница, где будут выполняться ваши скрипты.

Примечание: Если вы хотите загрузить скрипт из удаленного источника с тегом <script> (например, <script src = "https://code.jquery.com/jquery-3.6.0.min.js">), вам нужно изменить ключ content_security_policy в файле manifest.json вашего расширения.

page

Если вам нужен определенный контент на фоновой странице, вы можете определить страницу с помощью свойства page. Это String путь, относящийся к файлу manifest.json, к HTML-документу, включенному в ваш пакет расширения.

Если вы используете это свойство, вы не можете указать фоновые скрипты с помощью scripts, но можете включать скрипты со страницы, как и обычную веб-страницу.

Ключ background также может содержать это необязательное свойство:

persistent

Значение Boolean.

Если опущен, это свойство по умолчанию true в манифесте версии 2 и false в манифесте версии 3. Установка значения true в манифесте версии 3 приведет к ошибке.

  • true указывает, что фоновая страница должна храниться в памяти с момента загрузки расширения или запуска браузера до разгрузки или отключения расширения или закрытия браузера (то есть фоновая страница постоянна).
  • false указывает, что фоновая страница может быть выгружена из памяти при простоях и воссоздана при необходимости. Такие фоновые страницы часто называют страницами событий, потому что они загружаются в память, чтобы позволить фоновой странице обрабатывать события, для которых она добавила обработчики. Регистрация обработчиков сохраняется при выгрузке страницы из памяти, но другие значения не сохраняются. Если вы хотите хранить данные постоянно на странице события, следует использовать API хранилища.
type

Значение String.

Определяет, загружаются ли скрипты, указанные в "scripts" как модули ES.

  • classic указывает, что фоновые скрипты или рабочие процессы не включаются как модули ES.
  • module указывает, что фоновые скрипты или рабочие процессы включаются как модули ES. Это позволяет фоновой странице или рабочему процессу import код.

Если опущен, это свойство по умолчанию classic.

Пример

  "background": {
    "scripts": ["jquery.js", "my-background.js"]
  }

Загрузка двух фоновых скриптов.

  "background": {
    "page": "my-background.html"
  }

Загрузка пользовательской фоновой страницы.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
background Да 14 48 ? Да 14 ? ? 48 ? 15 ?
page
ДаДоступно только для манифеста версии 2.
14 48 ?
ДаДоступно только для манифеста версии 2.
14Доступно для манифеста версии 2 или более поздней.
? ? 48 ?
15Доступно для манифеста версии 2 или более поздней.
?
persistent
ДаДоступно только для манифеста версии 2.
14Это свойство обязательно.
48["С Firefox 106 поддерживаются постоянные и непостоянные страницы для манифеста версии 2.", "До Firefox 105 поддерживались только постоянные страницы.", "До версии 66 Firefox выводил предупреждение, даже если значение было установлено в true."]
?
ДаДоступно только для манифеста версии 2.
14.1Игнорируется, если используется service_worker.
14Поддерживаются только постоянные страницы.
? ?
48["С Firefox 106 поддерживаются постоянные и непостоянные страницы для манифеста версии 2.", "До Firefox 105 поддерживались только постоянные страницы.", "До версии 66 Firefox выводил предупреждение, даже если значение было установлено в true."]
?
15.4Поддерживаются только непостоянные страницы. Требуется persistent: false или service_worker.
15Поддерживаются только непостоянные страницы. Требуется persistent: false.
?
scripts
ДаДоступно только для манифеста версии 2.
14
48До Firefox 50, когда отладчик открыт, скрипты не всегда загружаются в указанном порядке в массиве.
?
ДаДоступно только для манифеста версии 2.
14Доступно для манифеста версии 2 или более поздней.
? ?
48До Firefox 50, когда отладчик открыт, скрипты не всегда загружаются в указанном порядке в массиве.
?
15Доступно для манифеста версии 2 или более поздней.
?
service_worker
88Доступно для манифеста версии 2 или более поздней.
88Доступно для манифеста версии 2 или более поздней.
Нет ?
74Доступно для манифеста версии 2 или более поздней.
15.4Доступно для манифеста версии 2 или более поздней.
? ? Нет ?
15.4Доступно для манифеста версии 2 или более поздней.
?
type Да Да 112 ? Да 16.4 ? ? 112 ? 16.4 ?

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API