Aplikacje PWA mogą używać właściwości „display_override” do obsługi specjalnych trybów wyświetlania.
Plik manifestu aplikacji internetowej to plik JSON, który informuje przeglądarkę o Twojej progresywnej
aplikacji internetowej i o tym, jak powinna się ona zachowywać po zainstalowaniu na komputerze lub urządzeniu mobilnym użytkownika.
Za pomocą właściwości display możesz dostosować interfejs przeglądarki, który jest wyświetlany po uruchomieniu aplikacji. Możesz na przykład ukryć pasek adresu i interfejs przeglądarki. Gry można nawet uruchamiać na pełnym ekranie.
Poniżej znajdziesz krótkie podsumowanie trybów wyświetlania, które były określone w momencie pisania tego artykułu.
| Właściwość | Użycie |
|---|---|
fullscreen |
Otwiera aplikację internetową bez interfejsu przeglądarki i zajmuje całą dostępną powierzchnię wyświetlania. |
standalone |
Otwiera aplikację internetową, która wygląda i działa jak samodzielna aplikacja. Aplikacja działa w osobnym oknie, niezależnie od przeglądarki, i ukrywa standardowe elementy interfejsu przeglądarki, takie jak pasek adresu URL. |
minimal-ui |
Ten tryb jest podobny do standalone, ale udostępnia
użytkownikowi minimalny zestaw elementów interfejsu do sterowania nawigacją (np.
przyciski „Wstecz” i „Odśwież”).
|
browser |
Standardowe działanie przeglądarki. |
Te tryby wyświetlania są zgodne z dobrze zdefiniowanym łańcuchem zastępowania
("fullscreen" → "standalone" → "minimal-ui" → "browser"). Jeśli przeglądarka nie obsługuje danego
trybu, przełącza się na następny tryb wyświetlania w łańcuchu.
Wady właściwości display
Problem z tym sztywnym łańcuchem kreacji zastępczych jest trojaki:
- Deweloper nie może zażądać
"minimal-ui"bez wymuszenia powrotu do trybu wyświetlania"browser", jeśli dany tryb"minimal-ui"nie jest obsługiwany przez daną przeglądarkę. - Deweloperzy nie mają możliwości obsługi różnic między przeglądarkami, np. jeśli przeglądarka zawiera lub wyklucza przycisk „Wstecz” w oknie w trybie
"standalone". - Obecne zachowanie uniemożliwia wprowadzenie nowych trybów wyświetlania w sposób zapewniający zgodność wsteczną, ponieważ takie rozwiązania jak tryb aplikacji z kartami nie mają naturalnego miejsca w łańcuchu kreacji zastępczych.
Właściwość display_override
Te problemy rozwiązuje właściwość display_override, którą przeglądarka bierze pod uwagę przed
właściwością display. Jej wartość to sekwencja ciągów znaków, które są rozpatrywane w kolejności, a stosowany jest pierwszy obsługiwany tryb wyświetlania. Jeśli żaden z nich nie jest obsługiwany, przeglądarka wraca do oceny pola display.
W poniższym przykładzie łańcuch zastępowania trybu wyświetlania wyglądałby tak:
(Szczegóły dotyczące "window-controls-overlay" wykraczają poza zakres tego artykułu).
"window-controls-overlay"(Najpierw sprawdźdisplay_override.)"minimal-ui""standalone"(Gdydisplay_overridezostanie wyczerpany, oceńdisplay.)"minimal-ui"(Na koniec użyjdisplayłańcucha kreacji zastępczych.)"browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Aby zachować zgodność wsteczną, każdy przyszły tryb wyświetlania będzie akceptowany tylko jako wartość
display_override, ale nie display.
Przeglądarki, które nie obsługują display_override, wracają do właściwości display i ignorują
display_override jako nieznaną właściwość pliku manifestu aplikacji internetowej.
Przydatne linki
- Wyjaśnienie
- Wątek „Intent to Ship”
- Błąd w Chromium
- Wpis stanu Chrome
- Repozytorium Manifest Incubations
Podziękowania
Właściwość display_override została sformalizowana przez
Daniela Murphy’ego.