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 No No No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4949 No No No No No

Document Tags and Contributors

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