ServiceWorkerRegistration: update() 方法
注意:此功能在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 表仅在浏览器中加载