W3cubDocs

/Web APIs

BackgroundFetchUpdateUIEvent

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The BackgroundFetchUpdateUIEvent interface of the Background Fetch API is an event type for the backgroundfetchsuccess and backgroundfetchfail events, and provides a method for updating the title and icon of the app to inform a user of the success or failure of a background fetch.

Event ExtendableEvent BackgroundFetchEvent BackgroundFetchUpdateUIEvent

Constructor

BackgroundFetchUpdateUIEvent() Experimental

Creates a new BackgroundFetchUIEvent object. This constructor is not typically used, as the browser creates these objects itself for the backgroundfetchsuccess and backgroundfetchfail events.

Instance properties

This interface doesn't implement any specific properties, but inherits properties from Event, and BackgroundFetchEvent.

Instance methods

BackgroundFetchUpdateUIEvent.updateUI() Experimental

Updates the title and icon in the user interface to show the status of a background fetch. Resolves with a Promise.

Examples

In this example, the backgroundfetchsuccess event is listened for, indicating that a fetch has completed successfully. The updateUI() method is then called, with a message to let the user know the episode they downloaded is ready.

js

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

  event.waitUntil(
    (async () => {
      // Create/open a cache.
      const cache = await caches.open("downloads");
      // Get all the records.
      const records = await bgFetch.matchAll();
      // Copy each request/response across.
      const promises = records.map(async (record) => {
        const response = await record.responseReady;
        await cache.put(record.request, response);
      });

      // Wait for the copying to complete.
      await Promise.all(promises);

      // Update the progress notification.
      event.updateUI({ title: "Episode 5 ready to listen!" });
    })(),
  );
});

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
BackgroundFetchUpdateUIEvent 74 79 No No 62 No No 74 No 53 No 11.0
BackgroundFetchUpdateUIEvent 74 79 No No 62 No No 74 No 53 No 11.0
updateUI 74 79 No No 62 No No 74 No 53 No 11.0

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