ServiceWorkerRegistration: phương thức update()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

update() là phương thức của giao diện ServiceWorkerRegistration cố gắng cập nhật service worker. Nó lấy URL của tập lệnh worker, và nếu worker mới không giống hệt từng byte với worker hiện tại, nó sẽ cài đặt worker mới. Việc tải tập lệnh worker sẽ bỏ qua mọi bộ nhớ đệm của trình duyệt nếu lần tải trước đó đã xảy ra cách đây hơn 24 giờ.

Cú pháp

js
update()

Tham số

Không.

Giá trị trả về

Một Promise được phân giải thành một đối tượng ServiceWorkerRegistration.

Ví dụ

Ví dụ đơn giản sau đăng ký một service worker rồi thêm một trình xử lý sự kiện vào nút để bạn có thể cập nhật service worker một cách tường minh bất cứ khi nào muốn:

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // đăng ký thành công
      console.log("Registration succeeded.");
      button.onclick = () => {
        registration.update();
      };
    })
    .catch((error) => {
      // đăng ký thất bại
      console.error(`Registration failed with ${error}`);
    });
}

Đặc tả kỹ thuật

Specification
Service Workers Nightly
# service-worker-registration-update

Tương thích trình duyệt

Xem thêm