[关闭]
@demonly 2018-04-13T07:11:46.000000Z 字数 1801 阅读 784

Progressive Web Apps

前端工程


Manifest

Manifest 包含了与应用相关的一系列信息,manifest 在页面的头部引入

  1. <link rel="manifest" href="/manifest.json">

Manifest 支持的键

有三个键是必须的:

Service Worker

在启用 Service Worker 之前必须注册,Service Worker 启用之后可以拦截客户端的请求

  1. if ('serviceWorker' in navigator) {
  2. navigator.serviceWorker.register('/service-worker.js');
  3. }

ServiceWorker 继承自 Worker,除此以外还有以下属性

ServiceWorkerGlobalScope

在 Service Worker 脚本内 this 和 self 均指向 ServiceWorkerGlobalScope 对象。ServiceWorkerGlobalScope 对象有以下属性:

它有几个常用的事件:

FetchEvent

fetch 事件的事件对象

ExtendableEvent

active 和 install 事件的事件对象

waitUntil():接受一个 Promise 对象作为参数,延长 Service Worker 的生命周期直到 Promise 完成

Cache

Cache 对象由 caches.open() 方法产生,这个方法接受缓存的名字,打开这个缓存,如果不存在则会创建一个新的 Cache,这个方法返回一个 Promise 对象

Cache 内缓存的形式为 Request 对象和 Response 对象的对象对,它有以下方法,其中的 request 参数既可以是 Request 对象,也可以是 URL 字符串

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注