渐进式 Web 应用(PWA)

Service Worker API

与应用进行通信

Service worker 可使用以下 API 与其相关的 PWA 客户端进行通信:

Client.postMessage()

允许 service worker 向其 PWA 客户端发送一个消息。

Broadcast Channel API

允许 service worker 和它的 PWA 客户端建立一个基本的双向通信通道。

离线操作

Service worker 可以使用以下 API 来使你的应用程序在离线状态下工作:

Cache

HTTP 响应的持久性存储机制,用于存储资源,在应用程序离线时可以重复使用。

Clients

一个用于提供对由 service worker 控制的文件访问接口。

FetchEvent

一个事件,随着 PWA 客户端发出的每个 HTTP 请求而在 service worker 中派发。该事件可用于像正常一样将请求发送到服务器并保存响应以供将来使用,或者拦截请求并立即用先前缓存的响应进行响应。

后台操作

以下 API 可以被 service worker 用来在后台执行任务,即使你的应用程序没有运行:

Background Synchronization API

一旦有了稳定的网络连接,就可以将任务推迟到 service worker 中运行的一种方法。

Web Periodic Background Synchronization API

一种注册任务的方式,以便在网络连接存在时周期性的在 service worker 中运行。

Background Fetch API

一种用于 service worker 管理可能需要大量时间的下载的方法,如视频或音频文件。