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. -
Gibt ein
Promise
zurück, das sich mit einer Liste vonstrings
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:
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.
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.
navigator.serviceWorker.ready.then((registration) => {
registration.periodicSync.unregister("get-latest-news");
});
Spezifikationen
Specification |
---|
Web Periodic Background Synchronization> # periodicsyncmanager-interface> |
Browser-Kompatibilität
Loading…