Compartir a través de


Contenido mixto de WebView en Android

Este .NET Multi-platform App UI (.NET MAUI) Android específico de la plataforma controla si WebView puede mostrar contenido mixto. El contenido mixto es contenido que se carga inicialmente a través de una conexión HTTPS, pero que carga recursos (como imágenes, audio, vídeo, hojas de estilos, scripts) a través de una conexión HTTP. Se consume en XAML estableciendo la propiedad adjunta WebView.MixedContentMode en un valor de la enumeración MixedContentHandling:

<ContentPage ...
             xmlns:android="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls">
    <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

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

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

El método WebView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android> especifica que esta plataforma específica solo se ejecutará en Android. El método WebView.SetMixedContentMode, en el espacio de nombres Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific, se usa para controlar si se puede mostrar contenido mixto, con la enumeración MixedContentHandling que proporciona tres valores posibles:

  • AlwaysAllow: indica que WebView permitirá que un origen HTTPS cargue contenido desde un origen HTTP.
  • NeverAllow: indica que WebView no permitirá que un origen HTTPS cargue contenido desde un origen HTTP.
  • CompatibilityMode: indica que WebView intentará ser compatible con el enfoque del explorador web del dispositivo más reciente. Se puede permitir que un origen HTTPS cargue contenido HTTP y otros tipos de contenido se bloquearán. Los tipos de contenido bloqueados o permitidos pueden cambiar con cada versión del sistema operativo.

El resultado es que se aplica un valor MixedContentHandling especificado a WebView, que controla si se puede mostrar contenido mixto:

WebView mixed content handling platform-specific.