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 seharusnya berperilaku saat diinstal di perangkat seluler atau desktop pengguna.
Melalui properti display, Anda dapat menyesuaikan UI browser yang ditampilkan saat aplikasi diluncurkan. Misalnya, Anda dapat menyembunyikan
kolom URL dan chrome browser. Game bahkan dapat dibuat untuk diluncurkan dalam layar penuh.
Sebagai ringkasan singkat, berikut adalah mode tampilan yang ditentukan pada saat artikel ini ditulis.
| Properti | Penggunaan |
|---|---|
fullscreen |
Membuka aplikasi web tanpa UI browser dan menggunakan seluruh 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 kumpulan elemen UI minimal untuk mengontrol navigasi (seperti
kembali dan muat 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 beralih ke mode tampilan berikutnya dalam rantai.
Kekurangan properti display
Masalah dengan pendekatan rantai penggantian yang terhubung langsung ini ada tiga:
- Developer tidak dapat meminta
"minimal-ui"tanpa dipaksa kembali ke mode tampilan"browser"jika"minimal-ui"tidak didukung oleh browser tertentu. - Developer tidak dapat menangani perbedaan lintas browser, seperti jika 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 lama, karena eksplorasi seperti mode aplikasi bertab tidak memiliki tempat alami dalam rantai penggantian.
Properti display_override
Masalah ini diselesaikan oleh properti display_override, yang dianggap oleh browser sebelum
properti display. Nilainya adalah urutan string yang dianggap berurutan, dan mode tampilan pertama yang didukung diterapkan. Jika tidak ada yang didukung, browser akan kembali mengevaluasi kolom display.
Dalam contoh di bawah, rantai penggantian mode tampilan akan seperti berikut.
(Detail "window-controls-overlay" berada di luar cakupan artikel ini.)
"window-controls-overlay"(Pertama, lihatdisplay_override.)"minimal-ui""standalone"(Saatdisplay_overridehabis, evaluasidisplay.)"minimal-ui"(Terakhir, gunakan rantai penggantiandisplay.)"browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Agar tetap kompatibel dengan versi lama, mode tampilan mendatang hanya akan dapat diterima sebagai nilai
display_override, bukan display.
Browser yang tidak mendukung display_override akan kembali ke properti display dan mengabaikan
display_override sebagai properti manifes aplikasi web yang tidak diketahui.
Link penting
Ucapan terima kasih
Properti display_override diformalkan oleh
Daniel Murphy.