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: register() Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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.

Die register()-Methode der PeriodicSyncManager-Schnittstelle registriert eine periodische Synchronisierungsanforderung beim Browser mit dem angegebenen Tag und Optionen. Sie gibt ein Promise zurück, das aufgelöst wird, wenn die Registrierung abgeschlossen ist.

Die Methode erfordert die Berechtigung periodic-background-sync; siehe die Sicherheitsüberlegungen der API für Details.

Syntax

js
register(tag, options)

Parameter

tag

Ein einzigartiger String-Bezeichner.

options Optional

Ein Object mit den folgenden optionalen Daten:

minInterval

Die Mindestintervallzeit in Millisekunden, in der die periodische Synchronisierung erfolgen soll.

Rückgabewert

Gibt ein Promise zurück, das mit undefined aufgelöst wird.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn kein aktiver ServiceWorker vorhanden ist.

NotAllowedError DOMException

Wird ausgelöst, wenn die Berechtigung periodic-background-sync nicht erteilt wird.

InvalidAccessError DOMException

Wird ausgelöst, wenn das aktive Fenster nicht das Hauptfenster ist (nicht vom Typ auxiliary oder top-level).

Beispiele

Die folgende asynchrone Funktion registriert eine periodische Hintergrundsynchronisierung 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("fetch-news", {
      minInterval: 24 * 60 * 60 * 1000,
    });
  } catch {
    console.log("Periodic Sync could not be registered!");
  }
}

Spezifikationen

Spezifikation
Web Periodic Background Synchronization
# dom-periodicsyncmanager-register

Browser-Kompatibilität

Siehe auch