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 |
瀏覽器相容性
載入中…