Spec-Zone.ru › Web APIs

BackgroundFetchRegistration

Ограниченная доступность

Эта функция не является Baseline, так как она не работает в некоторых из самых широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости браузеров.

Примечание: Эта функция доступна в Web Workers.

Интерфейс BackgroundFetchRegistration из API Background Fetch представляет собой отдельную фоновую загрузку.

Экземпляр BackgroundFetchRegistration возвращается методами BackgroundFetchManager.fetch() или BackgroundFetchManager.get(), поэтому у него нет конструктора.

EventTarget BackgroundFetchRegistration

Свойства экземпляра

Также наследует свойства от родительского класса, EventTarget.

BackgroundFetchRegistration.id Только для чтения Экспериментально

Строка, содержащая идентификатор фоновой загрузки.

BackgroundFetchRegistration.uploadTotal Только для чтения Экспериментально

number, содержащий общее количество байтов для загрузки.

BackgroundFetchRegistration.uploaded Только для чтения Экспериментально

number, содержащий размер в байтах успешно отправленной информации, по умолчанию 0.

BackgroundFetchRegistration.downloadTotal Только для чтения Экспериментально

number, содержащий общий размер в байтах данного скачивания. Это значение задается при регистрации фоновой загрузки, или 0.

BackgroundFetchRegistration.downloaded Только для чтения Экспериментально

number, содержащий размер в байтах, который был скачан, по умолчанию 0.

BackgroundFetchRegistration.result Только для чтения Экспериментально

Изначально возвращает пустую строку, по завершении — либо строку "success", либо "failure".

BackgroundFetchRegistration.failureReason Только для чтения Экспериментально

Строка со значением, указывающим причину сбоя фоновой загрузки. Может принимать следующие значения: "", "aborted", "bad-status", "fetch-error", "quota-exceeded", "download-total-exceeded".

BackgroundFetchRegistration.recordsAvailable Только для чтения Экспериментально

boolean, указывающий, установлен ли флаг recordsAvailable.

Методы экземпляра

Также наследует методы от родительского класса, EventTarget.

BackgroundFetchRegistration.abort() Экспериментально

Прерывает фоновую загрузку. Возвращает Promise, который разрешается значением true в случае успешного прерывания загрузки.

BackgroundFetchRegistration.match() Экспериментально

Возвращает единственный объект BackgroundFetchRecord, который является первым совпадением по переданным аргументам.

BackgroundFetchRegistration.matchAll() Экспериментально

Возвращает Promise, который разрешается массивом объектов BackgroundFetchRecord, содержащих запросы и ответы.

События

Также наследует события от родительского класса, EventTarget.

Подписывайтесь на эти события с помощью addEventListener() или назначив обработчик событий свойству oneventname этого интерфейса.

progress Экспериментально

Срабатывает при изменении следующих свойств: uploaded, downloaded, result или failureReason.

Примеры

Следующий код создаёт BackGroundFetchRegistration как bgFetch, с id равным "my-fetch".

navigator.serviceWorker.ready.then(async (swReg) => {
  const bgFetch = await swReg.backgroundFetch.fetch(
    "my-fetch",
    ["/ep-5.mp3", "ep-5-artwork.jpg"],
    {
      title: "Episode 5: Interesting things.",
      icons: [
        {
          sizes: "300x300",
          src: "/ep-5-icon.png",
          type: "image/png",
        },
      ],
      downloadTotal: 60 * 1024 * 1024,
    },
  );
});

Вывод id в консоль даёт "my-fetch".

console.log(bgFetch.id); // "my-fetch"

Метод match() может использоваться для поиска конкретного объекта BackgroundFetchRecord из тех, которые являются частью регистрации.

bgFetch.match("/ep-5.mp3").then(async (record) => {
  if (!record) {
    console.log("No record found");
    return;
  }

  console.log(`Here's the request`, record.request);
  const response = await record.responseReady;
  console.log(`And here's the response`, response);
});

Спецификации

Спецификация
Background Fetch
# background-fetch-registration

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
BackgroundFetchRegistration 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
abort 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
downloadTotal 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
downloaded 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
failureReason 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
id 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
match 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
uploadTotal 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет
uploaded 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BackgroundFetchRegistration

Spec-Zone.ru

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