ServiceWorkerGlobalScope: install 事件

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

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

ServiceWorkerRegistration获取新的ServiceWorkerRegistration.installing工作线程时,将触发ServiceWorkerGlobalScope接口的install事件。

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

语法

在像addEventListener()这样的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("install", (event) => {});

oninstall = (event) => {};

事件类型

事件属性

不实现任何特定属性,但继承自其父级Event的属性。

示例

以下代码片段演示了如何使用install事件处理程序将多个响应填充到缓存中,然后服务工作线程可以使用该缓存离线提供资源

js
self.addEventListener("install", (event) => {
  event.waitUntil(
    caches
      .open("v1")
      .then((cache) =>
        cache.addAll([
          "/",
          "/index.html",
          "/style.css",
          "/app.js",
          "/image-list.js",
          "/star-wars-logo.jpg",
          "/gallery/",
          "/gallery/bountyHunters.jpg",
          "/gallery/myLittleVader.jpg",
          "/gallery/snowTroopers.jpg",
        ]),
      ),
  );
});

您还可以使用oninstall属性设置事件处理程序

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

规范

规范
Service Workers
# dom-serviceworkerglobalscope-oninstall

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅