Background Sync:
Tipps zur optimalen Datensynchronisation

Background Sync kann kurze Übertragungen in unterstützten Browsern später erneut versuchen. Der Browser steuert die Ausführung. Stand: 9. September 2026.

Browser-Unterstützung und Grenzen

Die Background Synchronization API wird unter anderem von Chrome und Edge unterstützt. Safari einschließlich iOS sowie Firefox unterstützen derzeit weder diese API noch Periodic Background Sync. Beide Funktionen benötigen HTTPS und einen registrierten Service Worker.

Eine geschlossene Seite ist nicht dasselbe wie ein vollständig beendeter Browser. Ob und wann ein Hintergrundereignis ausgeführt wird, entscheidet der Browser. Speichern Sie offene Aufgaben dauerhaft und bieten Sie einen erneuten Versuch beim nächsten Öffnen der App an.

Aktuelle Kompatibilitätsdaten: Background Sync und Periodic Background Sync.

Einmaliger Background Sync

Online- und Offline-Nutzung einer Web-App

Die Anwendung speichert eine offene Aktion, etwa eine Nachricht, zunächst lokal. Über registration.sync.register() meldet sie eine Aufgabe an. Ein sync-Handler im Service Worker kann die Übertragung später erneut versuchen. IndexedDB eignet sich zum Speichern der Warteschlange; ein Service Worker allein legt diese nicht an.

event.waitUntil() verknüpft die asynchrone Arbeit mit dem Ereignis. Der Browser begrenzt trotzdem Laufzeit und Wiederholungen. Lange Uploads, eine erfolgreiche Zustellung oder eine Ausführung zu einem festen Zeitpunkt sind damit nicht garantiert.

Zeigen Sie Nutzern, welche Aktionen noch ausstehen. Entfernen Sie eine Aktion erst nach bestätigtem Erfolg aus der Warteschlange und vermeiden Sie doppelte Verarbeitung auf dem Server, falls ein Übertragungsversuch wiederholt wird.

Periodic Background Sync

Diese separate API kann Inhalte bei bestehender Netzverbindung vorab aktualisieren. In Chrome setzt sie eine installierte und als App gestartete PWA voraus. Nutzungshäufigkeit, Netzwerk und Energiezustand beeinflussen, ob und wann ein Ereignis ausgelöst wird. Safari auf iOS unterstützt sie derzeit nicht.

Prüfen Sie registration.periodicSync und registrieren Sie eine Aufgabe mit einem eindeutigen Namen und minInterval. Das Mindestintervall ist kein Zeitplan: Weder eine tägliche Aktualisierung noch ein bestimmter Ausführungszeitpunkt sind garantiert. Ohne diese API sollten Inhalte beim Öffnen aktualisiert werden.

Details zu Voraussetzungen und Registrierung stehen in der Chrome-Dokumentation zu Periodic Background Sync.

Unterstützung und Berechtigungen prüfen

Prüfen Sie für einmalige Aufgaben die Eigenschaft sync und für periodische Aufgaben periodicSync an der ServiceWorkerRegistration. BackgroundFetchManager gehört zu einer anderen API und ist kein Test auf Background-Sync-Unterstützung.

API-Unterstützung und Berechtigung sind getrennte Prüfungen. Der Browser kann eine Registrierung ablehnen; fangen Sie Fehler ab und verwenden Sie dann den Ersatzweg. Periodic Background Sync lässt sich in Chrome über navigator.permissions.query() mit dem Namen periodic-background-sync prüfen. Daraus folgt kein allgemeiner Zustimmungsdialog für alle Sync-Aufgaben.

Web Push hat eigene Voraussetzungen und eine eigene Benachrichtigungsberechtigung. Die Unterstützung von Push bedeutet nicht, dass auch Background Sync verfügbar ist.

Offline-Inhalte und offene Aktionen

Der Cache speichert ausgewählte Ressourcen für den Zugriff ohne Netz. Eine Warteschlange speichert noch nicht übertragene Nutzeraktionen. Diese Aufgaben sind getrennt: Ohne Verbindung kann die App lokal arbeiten, aber keine Daten an den Server senden.

Berücksichtigen Sie Speichergrenzen und mögliche Datenlöschungen. Halten Sie den Status offener Aktionen sichtbar und synchronisieren Sie zusätzlich beim Öffnen oder nach einem erneuten Verbindungsaufbau.

Testing Background Sync

Testing Background Sync PWA

Das Testen der Hintergrundsynchronisierung ist wichtig, um sicherzustellen, dass Anwendungen unter verschiedenen Netzwerkbedingungen ordnungsgemäß funktionieren. Zu den Techniken zur Simulation von Offline-Szenarien gehören die Verwendung von Browser-Entwicklungstools zur Drosselung der Netzwerkeinstellungen oder die absichtliche Trennung vom Netzwerk, um das Synchronisationsverhalten zu beobachten.

Zu den häufigen Problemen beim Testen der Hintergrundsynchronisierung gehören verpasste Synchronisierungsereignisse oder unerwartete Fehler aufgrund von Netzwerkschwankungen. Diese können durch Protokollierung und Überwachung von Netzwerkanfragen behoben werden. Zur Gewährleistung einer robusten Hintergrundsynchronisierung gehören gründliche Tests, regelmäßige Aktualisierungen der Service Worker und das Eingehen auf Benutzerfeedback zur Synchronisierungsleistung.

Simulation von Offline-Szenarien

In Chrome DevTools können Entwickler durch die Auswahl von „Offline“ auf der Registerkarte „Netzwerk“ Offline-Szenarien effektiv simulieren. Diese Funktion hilft beim Testen der Hintergrundsynchronisierungsfunktion unter realen Bedingungen.

Darüber hinaus kann die Verwendung des Flugzeugmodus, um die Verbindung zum Netzwerk zu trennen, eine praktische Möglichkeit zum Testen von Offline-Szenarien darstellen. Auf diese Weise wird sichergestellt, dass die Funktionen der Hintergrundsynchronisierung wie erwartet funktionieren, auch wenn die Verbindung unterbrochen ist.

Fehlersuche bei Sync-Problemen

Scheitert die im Sync-Handler an event.waitUntil() übergebene Arbeit, kann der Browser später einen weiteren Versuch auslösen. Anzahl und Zeitpunkt der Versuche sind begrenzt. Behalten Sie die Aufgabe bis zum bestätigten Erfolg in der Warteschlange und ermöglichen Sie eine erneute Übertragung beim Öffnen der App.

Regelmäßige Hintergrundsynchronisierungsaktivitäten können in der Ereignisprotokolltabelle in DevTools protokolliert werden. Dies hilft bei der Überwachung und Behebung von Synchronisationsproblemen und stellt sicher, dass der Synchronisationsprozess zuverlässig und effizient ist.

Bewährte Praktiken für die Implementierung der Hintergrundsynchronisation

Background Sync setting Browser Offline

Scheitert die im Sync-Handler an event.waitUntil() übergebene Arbeit, kann der Browser später einen weiteren Versuch auslösen. Anzahl und Zeitpunkt der Versuche sind begrenzt. Behalten Sie die Aufgabe bis zum bestätigten Erfolg in der Warteschlange und ermöglichen Sie eine erneute Übertragung beim Öffnen der App.

Regelmäßige Hintergrundsynchronisierungsaktivitäten können in der Ereignisprotokolltabelle in DevTools protokolliert werden. Dies hilft bei der Überwachung und Behebung von Synchronisationsproblemen und stellt sicher, dass der Synchronisationsprozess zuverlässig und effizient ist.

Verbersserung von Offline-Funktionen bei Webanwendungen

Die schrittweise Erweiterung ist ein wesentlicher Ansatz bei der Implementierung der Hintergrundsynchronisation. Diese Methode stellt sicher, dass Webanwendungen auch dann funktionsfähig bleiben, wenn erweiterte Funktionen wie die Hintergrundsynchronisation nicht verfügbar sind. Durch die Entwicklung von Anwendungen, die sich problemlos degradieren lassen, können Sie eine konsistente Benutzererfahrung in verschiedenen Browsern gewährleisten.

Durch die Verwendung einer Progressiven Web App können Webanwendungen die Funktionen der Hintergrundsynchronisation nutzen, sofern diese verfügbar sind, und gleichzeitig die Grundfunktionen in nicht unterstützten Umgebungen beibehalten. Dieser Ansatz fördert ein widerstandsfähiges und vielseitiges Anwendungsdesign, das ein breiteres Publikum anspricht.

Der Browser bestimmt den Zeitpunkt

minInterval legt einen Mindestabstand für periodische Aufgaben fest, keinen Termin. Konkrete Uhrzeiten oder eine Synchronisation passend zum Wecker des Nutzers lassen sich damit nicht zusagen. Halten Sie Aufgaben kurz und aktualisieren Sie Inhalte zusätzlich beim Öffnen.

Background Sync mit WordPress und Joomla

Die Sync-Optionen von miTT PWA hängen von der Plugin-Variante und dem Browser ab. Die Konfiguration für Joomla beschreibt die miTT-PWA-Dokumentation. Periodische Aktualisierungen brauchen eine bestehende Verbindung und werden vom Browser gesteuert.

Eine PWA-Installation macht Formulare, Chats oder Uploads nicht automatisch offline-fähig. Solche Funktionen benötigen eine eigene Speicherung offener Aktionen, Wiederholungslogik und Konfliktbehandlung. Auf iOS muss die Website Aktualisierungen ohne Background Sync ermöglichen.

Häufig gestellte Fragen

Background Sync kann in unterstützten Browsern eine fehlgeschlagene Übertragung später erneut versuchen. Die App muss offene Aktionen selbst speichern. Der Browser bestimmt die Ausführung; eine erfolgreiche Zustellung ist nicht garantiert.

Die App speichert eine offene Aktion und registriert über ServiceWorkerRegistration.sync eine Aufgabe. Ein sync-Handler im Service Worker versucht die Übertragung erneut, wenn der Browser das Ereignis ausführt.

Typische Fälle sind kurze Übertragungen wie Nachrichten oder Formularangaben, die zunächst lokal gespeichert werden. Für lange Uploads, feste Termine oder garantierte Zustellung reicht Background Sync allein nicht aus.

Periodic Background Sync wird nicht von Safari auf iOS oder Firefox unterstützt. Chrome setzt eine installierte und genutzte Web-App voraus. Das Mindestintervall garantiert keinen festen Ausführungszeitpunkt; der Browser entscheidet anhand von Nutzung, Netzwerk und Energiezustand.

Caching macht zuvor gespeicherte Dateien und Seiten ohne Netz erreichbar. Neue Daten können erst mit einer Verbindung vom Server geladen werden. Für offene Nutzeraktionen braucht die App zusätzlich eine eigene Warteschlange und Fehlerbehandlung.

Mehr über PWA (Progressive Web App) und Hosting erfahren

Progressive Web App unverzichtbar für jede Webseite?

Eine PWA bietet viele Vorteile gegenüber einer klassischen Website.

Weiterlesen...

Launch a Joomla PWA

Realisierung der Progressive Web App mit Push-Nachrichten in Joomla für eine Gemeindeverwaltung.

Weiterlesen..

15 Tipps zur Optimierung einer PWA

Hier sind 15 Vorschläge zur Verbesserung einer Progressive Web App (PWA), um ein nahtloses natives App-Erlebnis zu bieten.

Weiterlesen...

Scope einer PWA

Der Scope der Progressive Web App kann bei der Registrierung des Service Workers festgelegt werden.

Weiterlesen..

Discourse Hosting

Starten Sie ein Discourse-Forum mit gemanagtem Hosting

Weiterlesen...