PWA có thể sử dụng thuộc tính "display_override" để xử lý các chế độ hiển thị đặc biệt.
Tệp kê khai ứng dụng web là một tệp JSON cho trình duyệt biết về Ứng dụng web tăng tiến của bạn và cách ứng dụng đó hoạt động khi được cài đặt trên máy tính hoặc thiết bị di động của người dùng.
Thông qua thuộc tính display
, bạn có thể tuỳ chỉnh giao diện người dùng trình duyệt hiển thị khi ứng dụng của bạn khởi chạy. Ví dụ: bạn có thể ẩn thanh địa chỉ và thanh trình duyệt. Bạn thậm chí có thể tạo trò chơi để chạy ở chế độ toàn màn hình.
Tóm lại, dưới đây là các chế độ hiển thị được chỉ định tại thời điểm viết bài này.
Thuộc tính | Sử dụng |
---|---|
fullscreen |
Mở ứng dụng web mà không có giao diện người dùng trình duyệt nào và chiếm toàn bộ khu vực hiển thị có sẵn. |
standalone |
Mở ứng dụng web để có giao diện giống như một ứng dụng độc lập. Ứng dụng chạy trong cửa sổ riêng, tách biệt với trình duyệt và ẩn các thành phần giao diện người dùng tiêu chuẩn của trình duyệt như thanh URL. |
minimal-ui |
Chế độ này tương tự như standalone , nhưng cung cấp cho người dùng một nhóm thành phần giao diện người dùng tối thiểu để kiểm soát thao tác điều hướng (chẳng hạn như quay lại và tải lại).
|
browser |
Trải nghiệm trình duyệt tiêu chuẩn. |
Các chế độ hiển thị này tuân theo một chuỗi dự phòng được xác định rõ ràng ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Nếu không hỗ trợ một chế độ nhất định, trình duyệt sẽ chuyển sang chế độ hiển thị tiếp theo trong chuỗi.
Điểm yếu của thuộc tính display
Phương pháp chuỗi dự phòng được kết nối cứng này có ba vấn đề:
- Nhà phát triển không thể yêu cầu
"minimal-ui"
mà không bị buộc phải quay lại chế độ hiển thị"browser"
trong trường hợp trình duyệt nhất định không hỗ trợ"minimal-ui"
. - Nhà phát triển không có cách nào để xử lý sự khác biệt giữa các trình duyệt, chẳng hạn như nếu trình duyệt bao gồm hoặc loại trừ nút quay lại trong cửa sổ cho chế độ
"standalone"
. - Hành vi hiện tại khiến bạn không thể giới thiệu các chế độ hiển thị mới theo cách tương thích ngược, vì các hoạt động khám phá như chế độ ứng dụng theo thẻ không có vị trí tự nhiên trong chuỗi dự phòng.
Thuộc tính display_override
Các vấn đề này được giải quyết bằng thuộc tính display_override
mà trình duyệt xem xét trước thuộc tính display
. Giá trị của thuộc tính này là một chuỗi các chuỗi được xem là theo thứ tự và chế độ hiển thị được hỗ trợ đầu tiên sẽ được áp dụng. Nếu không có trường nào được hỗ trợ, trình duyệt sẽ quay lại đánh giá trường display
.
Trong ví dụ bên dưới, chuỗi dự phòng cho chế độ hiển thị sẽ như sau.
(Thông tin chi tiết về "window-controls-overlay"
nằm ngoài phạm vi của bài viết này.)
"window-controls-overlay"
(Trước tiên, hãy xemdisplay_override
.)"minimal-ui"
"standalone"
(Khidisplay_override
đã hết, hãy đánh giádisplay
.)"minimal-ui"
(Cuối cùng, hãy sử dụng chuỗi dự phòngdisplay
.)"browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Để duy trì khả năng tương thích ngược, mọi chế độ hiển thị trong tương lai sẽ chỉ được chấp nhận dưới dạng giá trị của display_override
, chứ không phải display
.
Các trình duyệt không hỗ trợ display_override
sẽ quay lại thuộc tính display
và bỏ qua display_override
dưới dạng thuộc tính tệp kê khai ứng dụng web không xác định.
Đường liên kết hữu ích
- Giải thích
- Chuỗi ý định vận chuyển
- Lỗi Chromium
- Mục nhập Trạng thái Chrome
- Kho lưu trữ Manifest Incubations
Thư cảm ơn
Thuộc tính display_override
do Daniel Murphy chính thức hoá.