PeriodicSyncManager

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 zu registrieren, die in einem Service Worker in regelmäßigen Abständen mit Netzwerkverbindung ausgeführt werden sollen. Diese Aufgaben werden als periodische Hintergrund-Synchronisierungsanfragen bezeichnet. Auf PeriodicSyncManager kann über ServiceWorkerRegistration.periodicSync zugegriffen werden.

Instanz-Eigenschaften

Keine.

Instanz-Methoden

PeriodicSyncManager.register() Experimentell

Registriert eine periodische Synchronisierungsanfrage mit dem Browser mit dem angegebenen Tag und Optionen. Gibt ein Promise zurück, das aufgelöst wird, wenn die Registrierung abgeschlossen ist.

PeriodicSyncManager.getTags() Experimentell

Gibt ein Promise zurück, das mit einer Liste von strings aufgelöst wird, die die Tags darstellen, die derzeit für die periodische Synchronisierung registriert sind.

PeriodicSyncManager.unregister() Experimentell

Hebt die Registrierung der periodischen Synchronisierungsanfrage auf, die dem angegebenen Tag entspricht, und gibt ein Promise zurück, das aufgelöst wird, wenn die Deregistrierung abgeschlossen ist.

Beispiele

Die folgenden Beispiele zeigen, wie das Interface genutzt wird.

Anfordern einer periodischen Hintergrund-Synchronisierung

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

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!");
  }
}

Verifizierung einer periodischen Hintergrund-Synchronisierung nach Tag

Dieser Code prüft, ob eine periodische Hintergrund-Synchronisierungsaufgabe 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-Synchronisierungsaufgabe

Der folgende Code entfernt eine periodische Hintergrund-Synchronisierungsaufgabe, 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
PeriodicSyncManager
Experimental
getTags
Experimental
register
Experimental
unregister
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

Siehe auch