Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PeriodicSyncManager

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das PeriodicSyncManager-Interface der Web Periodic Background Synchronization API bietet eine Möglichkeit, Aufgaben in einem Service Worker in regelmäßigen Abständen mit Netzwerkverbindung zu registrieren. Diese Aufgaben werden als periodische Hintergrund-Synchronisationsanfragen bezeichnet. Greifen Sie auf PeriodicSyncManager über ServiceWorkerRegistration.periodicSync zu.

Instanzeigenschaften

Keine.

Instanzmethoden

PeriodicSyncManager.register() Experimentell

Registriert eine periodische Synchronisationsanfrage bei dem Browser mit dem angegebenen Tag und Optionen. Gibt ein Promise zurück, das sich auflöst, wenn die Registrierung abgeschlossen ist.

PeriodicSyncManager.getTags() Experimentell

Gibt ein Promise zurück, das sich mit einer Liste von strings auflöst, die die Tags repräsentieren, die derzeit für die periodische Synchronisation registriert sind.

PeriodicSyncManager.unregister() Experimentell

Hebt die Registrierung der periodischen Synchronisationsanfrage für das angegebene Tag auf und gibt ein Promise zurück, das sich auflöst, wenn die Deregistrierung abgeschlossen ist.

Beispiele

Die folgenden Beispiele zeigen, wie das Interface verwendet wird.

Anfordern einer periodischen Hintergrund-Synchronisation

Die folgende asynchrone Funktion registriert eine periodische Hintergrund-Synchronisation in einem Mindestintervall von einem Tag von einem Browsing-Kontext aus:

js
async function registerPeriodicNewsCheck() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.periodicSync.register("get-latest-news", {
      minInterval: 24 * 60 * 60 * 1000,
    });
  } catch {
    console.log("Periodic Sync could not be registered!");
  }
}

Überprüfen einer periodischen Hintergrund-Synchronisation nach Tag

Dieser Code überprüft, ob eine Periodic Background Sync-Aufgabe mit einem bestimmten Tag registriert ist.

js
navigator.serviceWorker.ready.then((registration) => {
  registration.periodicSync.getTags().then((tags) => {
    if (tags.includes("get-latest-news")) skipDownloadingLatestNewsOnPageLoad();
  });
});

Entfernen einer periodischen Hintergrund-Synchronisationsaufgabe

Der folgende Code entfernt eine Periodic Background Sync-Aufgabe, um das Synchronisieren von Artikeln im Hintergrund zu stoppen.

js
navigator.serviceWorker.ready.then((registration) => {
  registration.periodicSync.unregister("get-latest-news");
});

Spezifikationen

Specification
Web Periodic Background Synchronization
# periodicsyncmanager-interface

Browser-Kompatibilität

Siehe auch