ServiceWorkerRegistration: update() 方法
注意:此功能在 Web Workers 中可用。
ServiceWorkerRegistration 接口的 update() 方法用于尝试更新 service worker。它会抓取 worker 的脚本 URL,如果新 worker 与当前 worker 的字节不完全相同,它就会安装新 worker。如果上次抓取发生在 24 小时前,则抓取 worker 会绕过任何浏览器缓存。
语法
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 |
浏览器兼容性
加载中…