BackgroundFetchRegistration
Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости браузеров.
Примечание: Эта функция доступна в Web Workers.
Интерфейс BackgroundFetchRegistration из API Background Fetch представляет собой отдельную фоновую загрузку.
Экземпляр BackgroundFetchRegistration возвращается методами BackgroundFetchManager.fetch() или BackgroundFetchManager.get(), поэтому у него нет конструктора.
Свойства экземпляра
Также наследует свойства от родительского класса, 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