ServiceWorkerGlobalScope: periodicSync 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能仅在 Service Workers 中可用。

ServiceWorkerGlobalScope 接口的 periodicSync 事件在注册 PeriodicSyncManager 时指定的、固定的时间间隔触发。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("periodicsync", (event) => { })

onperiodicsync = (event) => { }

事件类型

一个 PeriodicSyncEvent。继承自 Event

Event ExtendableEvent PeriodicSyncEvent

事件属性

继承自其祖类 Event 的属性.

PeriodicSyncEvent.tag 只读

返回此 PeriodicSyncEvent 的开发者定义的标识符。Web 应用可以使用多个 tag 来以不同的频率运行不同的周期性任务。

示例

以下示例展示了如何在 service worker 中响应周期性同步事件。

js
self.addEventListener("periodicsync", (event) => {
  if (event.tag === "get-latest-news") {
    event.waitUntil(fetchAndCacheLatestNews());
  }
});

您也可以使用 onperiodicSync 属性来设置事件处理程序

js
self.onperiodicsync = (event) => {
  // …
};

规范

规范
Web 周期性后台同步
# periodicSync-event
Web 周期性后台同步
# dom-serviceworkerglobalscope-onperiodicsync

浏览器兼容性

另见