Spec-Zone.ru › Web APIs

BackgroundFetchManager: метод fetch()

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

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

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

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

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

Метод fetch() интерфейса BackgroundFetchManager инициирует операцию фонового получения данных, используя один или несколько URL-адресов или объекты Request.

Синтаксис

fetch(id, requests)
fetch(id, requests, options)

Параметры

id

Идентификатор, определяемый разработчиком, который может быть передан другим методам для получения BackgroundFetchRegistration для этой операции.

requests

Объект RequestInfo или массив объектов RequestInfo.

Каждый объект RequestInfo является объектом Request или строкой, которая будет передана в качестве аргумента input конструктору Request().

options Необязательно

Объект, используемый для настройки диалогового окна прогресса загрузки, отображаемого браузером пользователю. Он имеет следующие свойства:

title Необязательно

Строка, которая будет использоваться в качестве заголовка диалогового окна прогресса.

icons Необязательно

Массив объектов, каждый из которых представляет собой значок, который браузер может использовать для диалогового окна прогресса. Каждый объект имеет следующие свойства:

src

Строка, представляющая URL-адрес файла значка.

sizes Необязательно

Строка, представляющая размеры изображения, выраженная в том же формате, что и атрибут sizes элемента <link>.

type Необязательно

Строка, представляющая тип MIME значка.

label Необязательно

Строка, представляющая доступное имя значка.

downloadTotal Необязательно

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

Как только общий размер загрузки превысит downloadTotal, загрузка прерывается.

Возвращаемое значение

Объект Promise, который разрешается объектом BackgroundFetchRegistration.

Исключения

TypeError

Возникает, если не предоставлен ни один запрос, если режим запроса no-cors, если отсутствует служба-агент, если запрос уже существует с запрошенным id, или запрос завершается сбоем.

AbortError DOMException

Указывает, что загрузка была прервана.

NotAllowedError DOMException

Указывает, что разрешение пользователя не предоставлено для выполнения фоновых загрузок.

QuotaExceededError DOMException

Выбрасывается, если хранение запросов завершилось неудачей из-за превышения квоты хранилища браузера storage quota.

Примеры

В следующем примере показано, как использовать fetch() для инициирования операции фонового получения данных. При активном service worker используйте свойство ServiceWorkerRegistration.backgroundFetch для доступа к объекту BackgroundFetchManager и вызовите его метод 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",
          label: "Downloading a show",
        },
      ],
      downloadTotal: 60 * 1024 * 1024,
    },
  );
});

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

Спецификация
Фоновая загрузка
# background-fetch-manager-fetch

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
fetch 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/BackgroundFetchManager/fetch

Spec-Zone.ru

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