Smíšený obsah WebView v Androidu
Tato platforma pro Android určuje, jestli WebView
se dá zobrazit smíšený obsah v aplikacích, které cílí na rozhraní API 21 nebo vyšší. Smíšený obsah je obsah, který se původně načítá přes připojení HTTPS, ale načítá prostředky (například obrázky, zvuk, video, šablony stylů, skripty) přes připojení HTTP. Využívá se v XAML nastavením WebView.MixedContentMode
připojené vlastnosti na hodnotu výčtu MixedContentHandling
:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
Metoda WebView.On<Android>
určuje, že tato konkrétní platforma se bude spouštět pouze v Androidu. Metoda WebView.SetMixedContentMode
v Xamarin.Forms.PlatformConfiguration.AndroidSpecific
oboru názvů slouží k řízení, zda se dá zobrazit smíšený obsah, a výčet MixedContentHandling
poskytuje tři možné hodnoty:
AlwaysAllow
– označuje, žeWebView
umožní zdroji HTTPS načíst obsah z původu HTTP.NeverAllow
– označuje, žeWebView
nepovolí zdroj HTTPS načíst obsah z původu HTTP.CompatibilityMode
– označuje, žeWebView
se pokusí být kompatibilní s přístupem nejnovějšího webového prohlížeče zařízení. Některé obsahy HTTP mohou být načteny původem HTTPS a jiné typy obsahu budou blokovány. Typy obsahu, které jsou blokované nebo povolené, se můžou u každé verze operačního systému změnit.
Výsledkem je, že se na zadanou MixedContentHandling
hodnotu použije WebView
, která určuje, jestli se dá zobrazit smíšený obsah: