Launch Handler API

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Launch Handler API cho phép các nhà phát triển kiểm soát cách một progressive web app (PWA) được khởi chạy, ví dụ liệu nó có sử dụng cửa sổ hiện có hay tạo cửa sổ mới, và cách URL khởi chạy mục tiêu của ứng dụng được xử lý.

Khái niệm và cách sử dụng

Bạn có thể chỉ định hành vi khởi chạy cho ứng dụng của mình bằng cách thêm trường launch_handler vào tệp web app manifest. Trường này có một trường con, client_mode, chứa giá trị chuỗi chỉ định cách ứng dụng nên được khởi chạy và điều hướng đến. Ví dụ:

json
{
  "launch_handler": {
    "client_mode": "focus-existing"
  }
}

Nếu không được chỉ định, giá trị client_mode mặc định là auto. Các giá trị có sẵn là:

focus-existing

Ngữ cảnh duyệt được tương tác gần đây nhất trong cửa sổ ứng dụng web được chọn để xử lý lần khởi chạy. Điều này sẽ điền URL khởi chạy mục tiêu vào thuộc tính targetURL của đối tượng LaunchParams được truyền vào hàm callback của window.launchQueue.setConsumer().

Ngữ cảnh duyệt được tương tác gần đây nhất trong cửa sổ ứng dụng web được điều hướng đến URL khởi chạy mục tiêu.

Ngữ cảnh duyệt mới được tạo trong cửa sổ ứng dụng web để tải URL khởi chạy mục tiêu.

auto

User agent quyết định điều gì phù hợp nhất với nền tảng. Đây là giá trị mặc định được sử dụng nếu các giá trị được cung cấp không hợp lệ.

Khi focus-existing được sử dụng, bạn có thể bao gồm mã bên trong hàm callback của window.launchQueue.setConsumer() để cung cấp xử lý tùy chỉnh của targetURL:

js
window.launchQueue.setConsumer((launchParams) => {
  // Do something with launchParams.targetURL
});

Các giao diện

LaunchParams

Được sử dụng khi triển khai xử lý điều hướng khởi chạy tùy chỉnh trong PWA.

LaunchQueue

Khi PWA được khởi chạy với giá trị client_modefocus-existing, navigate-new hoặc navigate-existing, LaunchQueue cung cấp quyền truy cập vào chức năng cho phép triển khai xử lý điều hướng khởi chạy tùy chỉnh trong PWA.

Mở rộng cho các giao diện khác

window.launchQueue

Cung cấp quyền truy cập vào lớp LaunchQueue, cho phép triển khai xử lý điều hướng khởi chạy tùy chỉnh trong PWA.

Ví dụ

js
if ("launchQueue" in window) {
  window.launchQueue.setConsumer((launchParams) => {
    if (launchParams.targetURL) {
      const params = new URL(launchParams.targetURL).searchParams;

      // Assuming a music player app that gets a track passed to it to be played
      const track = params.get("track");
      if (track) {
        audio.src = track;
        title.textContent = new URL(track).pathname.slice(1);
        audio.play();
      }
    }
  });
}

Thông số kỹ thuật

Specification
Web App Launch Handler API
# launchqueue-interface

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

Xem thêm