Conteúdo misto do WebView no Android
Este específico da plataforma Android controla se a WebView
pode exibir conteúdo misto em aplicativos direcionados à API 21 ou superior. Conteúdo misto é o conteúdo que é carregado inicialmente por uma conexão HTTPS, mas que carrega recursos (como imagens, áudio, vídeo, folhas de estilo, scripts) por meio de uma conexão HTTP. Ele é consumido em XAML definindo a propriedade anexada WebView.MixedContentMode
como um valor da MixedContentHandling
enumeração:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
O WebView.On<Android>
método especifica que esse específico da plataforma só será executado no Android. O WebView.SetMixedContentMode
método, no namespace, é usado para controlar se o Xamarin.Forms.PlatformConfiguration.AndroidSpecific
conteúdo misto pode ser exibido, com a MixedContentHandling
enumeração fornecendo três valores possíveis:
AlwaysAllow
– indica que oWebView
permitirá que uma origem HTTPS carregue conteúdo de uma origem HTTP.NeverAllow
– indica que oWebView
não permitirá que uma origem HTTPS carregue conteúdo de uma origem HTTP.CompatibilityMode
– indica que oWebView
tentará ser compatível com a abordagem do navegador da web do dispositivo mais recente. Alguns conteúdos HTTP podem ser carregados por uma origem HTTPS e outros tipos de conteúdo serão bloqueados. Os tipos de conteúdo bloqueados ou permitidos podem mudar a cada versão do sistema operacional.
O resultado é que um valor especificado MixedContentHandling
é aplicado ao , que controla se o WebView
conteúdo misto pode ser exibido: