PeriodicSyncManager:register() 方法
注意:此功能在 Web Workers 中可用。
register()
方法是 PeriodicSyncManager
接口的一个方法,它使用指定的标签和选项向浏览器注册一个定期同步请求。它返回一个 Promise
,该 Promise 在注册完成后解析。
语法
js
register(tag, options)
参数
tag
-
一个唯一的
String
标识符。 options
可选-
一个包含以下可选数据的
Object
minInterval
-
定期同步发生的最小间隔时间(以毫秒为单位)。
返回值
异常
InvalidStateError
DOMException
-
如果没有活动的
ServiceWorker
存在,则返回此异常。 NotAllowedError
DOMException
-
如果未授予后台定期同步的权限,则返回此异常。
InvalidAccessError
DOMException
-
如果活动窗口不是主窗口(不是
auxiliary
或top-level
类型),则返回此异常。
示例
以下异步函数从浏览上下文注册一个最小间隔为一天的定期后台同步
js
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!");
}
}
规范
规范 |
---|
Web 定期后台同步 # dom-periodicsyncmanager-register |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。