Sdílet prostřednictvím


Smíšený obsah WebView v Androidu

Toto uživatelské rozhraní pro víceplatformní aplikace .NET (.NET MAUI) pro Android řídí, jestli WebView může zobrazit smíšený obsah. 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:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls">
    <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
...

webView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);

Metoda WebView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android> určuje, že tato konkrétní platforma se bude spouštět pouze v Androidu. Metoda WebView.SetMixedContentMode v Microsoft.Maui.Controls.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, že WebView umožní zdroji HTTPS načíst obsah z původu HTTP.
  • NeverAllow – označuje, že WebView nepovolí zdroj HTTPS načíst obsah z původu HTTP.
  • CompatibilityMode – označuje, že WebView 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:

WebView mixed content handling platform-specific.