Przygotowania do jutrzejszych trybów wyświetlania

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).

  1. "window-controls-overlay" (Najpierw sprawdź display_override.)
  2. "minimal-ui"
  3. "standalone" (Gdy display_override zostanie wyczerpany, oceń display.)
  4. "minimal-ui" (Na koniec użyj display łańcucha kreacji zastępczych.)
  5. "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.

Podziękowania

Właściwość display_override została sformalizowana przez Daniela Murphy’ego.