ServiceWorkerGlobalScope: событие backgroundfetchsuccess
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальная функция: Это экспериментальная технология .
Перед использованием в производстве внимательно изучите таблицу совместимости браузеров .
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах .
Примечание: Эта функция доступна только в Service Workers.
Событие backgroundfetchsuccess интерфейса ServiceWorkerGlobalScope срабатывает при успешном завершении операции background fetch, то есть при успешном завершении всех сетевых запросов в рамках этой операции.
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.
addEventListener("backgroundfetchsuccess", (event) => {});
onbackgroundfetchsuccess = (event) => {};
Тип события
Объект 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" });
});
});
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | Нет |
См. также
© 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