Spec-Zone.ru › Web APIs

ServiceWorkerGlobalScope: событие backgroundfetchsuccess

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

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

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

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

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах .

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

Событие backgroundfetchsuccess интерфейса ServiceWorkerGlobalScope срабатывает при успешном завершении операции background fetch, то есть при успешном завершении всех сетевых запросов в рамках этой операции.

Это событие не отменяется и не распространяется.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.

addEventListener("backgroundfetchsuccess", (event) => {});

onbackgroundfetchsuccess = (event) => {};

Тип события

Объект BackgroundFetchUpdateUIEvent.

Событие ExtendableEvent BackgroundFetchEvent BackgroundFetchUpdateUIEvent

Свойства события

Наследует свойства от родительского класса BackgroundFetchEvent.

BackgroundFetchUpdateUIEvent.updateUI()

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

Описание

При успешном завершении операции background fetch (когда все отдельные сетевые запросы завершены успешно), браузер запускает сервис-воркер (при необходимости) и вызывает событие backgroundfetchsuccess в глобальной области видимости сервис-воркера.

В обработчике этого события сервис-воркер может получить и сохранить ответы (например, используя API Cache). Для доступа к данным ответа сервис-воркер использует свойство registration события.

В API background fetch браузер отображает пользователю элемент пользовательского интерфейса для отображения хода выполнения операции. В обработчике backgroundfetchsuccess сервис-воркер может обновить этот пользовательский интерфейс, чтобы показать, что операция завершена успешно. Для этого обработчик вызывает метод updateUI() события, передавая новый заголовок и/или значки.

Примеры

Сохранение ответов и обновление пользовательского интерфейса

Этот обработчик события сохраняет все ответы в кэше и обновляет пользовательский интерфейс.

addEventListener("backgroundfetchsuccess", (event) => {
  const registration = event.registration;

  event.waitUntil(async () => {
    // Open a cache
    const cache = await caches.open("movies");
    // Get all the records
    const records = await registration.matchAll();
    // Cache all responses
    const cachePromises = records.map(async (record) => {
      const response = await record.responseReady;
      await cache.put(record.request, response);
    });

    // Wait for caching to finish
    await Promise.all(cachePromises);

    // Update the browser's UI
    event.updateUI({ title: "Move download complete" });
  });
});

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

Спецификация
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchsuccess

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
backgroundfetchsuccess_event 74 79 Нет 62 Нет 74 Нет 53 Нет 11.0 Нет

См. также

  • API background fetch

© 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/ServiceWorkerGlobalScope/backgroundfetchsuccess_event

Spec-Zone.ru

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