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ụ:
{
"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
targetURLcủa đối tượngLaunchParamsđược truyền vào hàm callback củawindow.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:
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_modelàfocus-existing,navigate-newhoặcnavigate-existing,LaunchQueuecung 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ụ
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> |