ServiceWorkerRegistration.update()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2018年4月以降、すべてのブラウザーで利用可能です。
update() は ServiceWorkerRegistration インターフェイスのメソッドで、サービスワーカーの更新を試みます。 ワーカーのスクリプト URL を読み取り、新しいワーカーが現在のワーカーとバイト単位で同一でない場合は、新しいワーカーをインストールします。 前回の読み取りが 24 時間以上前であった場合、ワーカーの読み取り時にブラウザーのキャッシュをバイパスします。
メモ: この機能はウェブワーカーで利用できます。
構文
js
update()
引数
なし。
返値
ServiceWorkerRegistration オブジェクトで解決する Promise です。
例
次の簡単な例では、サービスワーカーの例を登録し、次にイベントハンドラーをボタンに追加して、必要に応じてサービスワーカーを明示的に更新できるようにします。
js
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw.js", { scope: "/" })
.then((registration) => {
// 登録成功
console.log("登録に成功しました。");
button.onclick = () => {
registration.update();
};
})
.catch((error) => {
// 登録に失敗
console.log(`登録に失敗しました: ${error}`);
});
}
仕様書
| 仕様書 |
|---|
| Service Workers Nightly> # service-worker-registration-update> |