Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
The register() method of the PeriodicSyncManager interface registers a periodic sync request with the browser with the specified tag and options. It returns a Promise that resolves when the registration completes.
register(tag, options)tagA unique String identifier.
options OptionalAn Object containing the following optional data:
minIntervalThe minimum interval time, in milliseconds, at which the periodic sync should occur.
Returns a Promise that resolves with undefined.
InvalidStateError DOMExceptionReturned if there is no active ServiceWorker present.
NotAllowedError DOMExceptionReturned if permission for background periodic sync is not granted.
InvalidAccessError DOMExceptionReturned if the active window is not the main window (not of auxiliary or top-level type).
The following asynchronous function registers a periodic background sync at a minimum interval of one day from a browsing context:
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!");
}
}