ServiceWorkerRegistration: update() 方法

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

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

update()ServiceWorkerRegistration接口的方法,用于尝试更新 Service Worker。它会获取工作者脚本的 URL,如果新的工作者与当前工作者字节对字节不完全相同,它将安装新的工作者。如果上一次获取发生在 24 小时之前,则获取工作者将绕过任何浏览器缓存。

语法

js
update()

参数

无。

返回值

一个Promise,它将解析为一个ServiceWorkerRegistration对象。

示例

以下简单示例注册了一个 Service Worker 示例,然后为一个按钮添加了一个事件处理程序,以便您可以根据需要显式更新 Service Worker

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // registration worked
      console.log("Registration succeeded.");
      button.onclick = () => {
        registration.update();
      };
    })
    .catch((error) => {
      // registration failed
      console.error(`Registration failed with ${error}`);
    });
}

规范

规范
Service Workers
# service-worker-registration-update

浏览器兼容性

BCD 表仅在浏览器中加载

另请参见