Udostępnij za pośrednictwem


Zawartość mieszana WebView w systemie Android

Ta platforma systemu Android określa, czy obiekt może wyświetlać mieszaną WebView zawartość w aplikacjach przeznaczonych dla interfejsu API 21 lub nowszego. Zawartość mieszana to zawartość, która jest początkowo ładowana za pośrednictwem połączenia HTTPS, ale ładuje zasoby (takie jak obrazy, audio, wideo, arkusze stylów, skrypty) za pośrednictwem połączenia HTTP. Jest on używany w języku XAML przez ustawienie dołączonej WebView.MixedContentMode właściwości na wartość MixedContentHandling wyliczenia:

<ContentPage ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
    <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>

Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);

Metoda WebView.On<Android> określa, że ta platforma będzie działać tylko w systemie Android. Metoda WebView.SetMixedContentMode w Xamarin.Forms.PlatformConfiguration.AndroidSpecific przestrzeni nazw służy do kontrolowania, czy można wyświetlić mieszaną zawartość, a MixedContentHandling wyliczenie zapewnia trzy możliwe wartości:

  • AlwaysAllow — wskazuje, że WebView obiekt umożliwi źródłom HTTPS ładowanie zawartości ze źródła HTTP.
  • NeverAllow — wskazuje, że WebView źródło HTTPS nie będzie zezwalać na ładowanie zawartości ze źródła HTTP.
  • CompatibilityMode — wskazuje, że WebView próba będzie zgodna z podejściem najnowszej przeglądarki internetowej urządzenia. Niektóre treści HTTP mogą być ładowane przez źródło HTTPS, a inne typy zawartości zostaną zablokowane. Typy zawartości, które są zablokowane lub dozwolone, mogą ulec zmianie w przypadku każdej wersji systemu operacyjnego.

Wynikiem jest zastosowanie określonej MixedContentHandling wartości do WebViewelementu , który kontroluje, czy można wyświetlić zawartość mieszaną:

Aplikacja WebView obsługującą mieszaną zawartość specyficzną dla platformy