PWA dapat menggunakan properti "display_override" untuk menangani mode tampilan khusus.
Manifes aplikasi web adalah file JSON yang memberi tahu browser tentang Progressive
Web App Anda dan bagaimana perilakunya saat diinstal di desktop atau perangkat seluler pengguna.
Melalui properti display
, Anda dapat menyesuaikan UI browser yang ditampilkan saat aplikasi diluncurkan. Misalnya, Anda dapat menyembunyikan
kolom URL dan browser Chrome. Game bahkan bisa dibuat untuk diluncurkan dalam mode layar penuh.
Sebagai rangkuman singkat, di bawah ini adalah mode tampilan yang ditentukan pada saat artikel ini ditulis.
Properti | Penggunaan |
---|---|
fullscreen |
Membuka aplikasi web tanpa UI browser apa pun dan memenuhi keseluruhan area tampilan yang tersedia. |
standalone |
Membuka aplikasi web agar terlihat dan terasa seperti aplikasi mandiri. Aplikasi berjalan di jendelanya sendiri, terpisah dari browser, dan menyembunyikan elemen UI browser standar seperti kolom URL. |
minimal-ui |
Mode ini mirip dengan standalone , tetapi memberi
pengguna sekumpulan elemen UI minimal untuk mengontrol navigasi (seperti
kembali dan memuat ulang).
|
browser |
Pengalaman browser standar. |
Mode tampilan ini mengikuti rantai penggantian yang ditentukan dengan baik
("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Jika browser tidak mendukung mode
tertentu, browser akan kembali ke mode tampilan berikutnya dalam rantai tersebut.
Kekurangan properti display
Masalah pada pendekatan rantai penggantian bawaan ini ada tiga kali lipat:
- Developer tidak dapat meminta
"minimal-ui"
tanpa dipaksa kembali ke mode tampilan"browser"
jika"minimal-ui"
tidak didukung oleh browser tertentu. - Developer tidak memiliki cara untuk menangani perbedaan lintas browser, seperti apakah browser menyertakan atau mengecualikan tombol kembali di jendela untuk mode
"standalone"
. - Perilaku saat ini membuat mode tampilan baru tidak dapat diperkenalkan dengan cara yang kompatibel dengan versi sebelumnya karena eksplorasi seperti mode aplikasi bertab tidak memiliki tempat yang wajar dalam rantai penggantian.
Properti display_override
Masalah ini diselesaikan dengan properti display_override
, yang dipertimbangkan browser sebelum
properti display
. Nilainya adalah urutan string yang dianggap berurutan, dan
mode tampilan pertama yang didukung akan diterapkan. Jika tidak ada yang didukung, browser akan kembali untuk mengevaluasi kolom display
.
Pada contoh di bawah, rantai penggantian mode tampilan adalah sebagai berikut.
(Detail "window-controls-overlay"
di luar cakupan artikel ini.)
"window-controls-overlay"
(Pertama, lihatdisplay_override
.)"minimal-ui"
"standalone"
(Saatdisplay_override
habis, evaluasidisplay
.)"minimal-ui"
(Terakhir, gunakan rantai penggantiandisplay
.)"browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Agar tetap kompatibel dengan versi sebelumnya, mode tampilan di masa mendatang hanya dapat diterima sebagai nilai
display_override
, tetapi tidak display
.
Browser yang tidak mendukung display_override
akan kembali ke properti display
dan mengabaikan display_override
sebagai properti manifes aplikasi web yang tidak dikenal.
Link penting
- Penjelasan
- Intent untuk Mengirimkan thread
- Bug Chromium
- Entri Status Chrome
- Repositori Inkubasi Manifes
Ucapan terima kasih
Properti display_override
diformalkan oleh
Daniel Murphy.