This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The SyncManager.register method of the SyncManager interface returns a Promise that resolves to a SyncRegistration instance.


SyncManager.register([options]).then(function(syncRegistration) { ... })


A Promise that resolves to an instance of SyncRegistration.


options Optional
An object that sets options for an instance of SyncRegistration. The available options are:
  • allowOnBattery: A boolean that determines whether synchronization is allowed when the user agent is on a battery-powered device. The default is true.
  • id: The unique identifier of the specified SyncRegistration object.
  • idleRequired: A boolean that determines whether synchronization is allowed when the user agent's device is idle. The default is false.
  • maxDelay: The maximum delay in milliseconds before the next sync event (or the first sync event if it is periodic). The default is 0, meaning there is no maximum delay.
  • minDelay: The minimum delay in milliseconds before the next sync event (or the first sync event if it is periodic). The default is 0.
  • minPeriod: The minimum time in milliseconds between periodic sync events. The default is 0, meaning events are not periodic.
  • minRequiredNetwork: The network condition under which background synchronization will occur. Valid values are 'network-any', 'network-offline', 'network-online', 'network-non-mobile'. The default value is 'network-online'.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support49 Yes ? ? No ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4949 ? ? No ? ?

Document Tags and Contributors

 Contributors to this page: fscholz, jpmedley, libbymc, rolfedh
 Last updated by: fscholz,