Compartilhar via


Conteúdo misto do WebView no Android

Esta interface do usuário do aplicativo multiplataforma .NET (.NET Maui) específica da plataforma Android controla se um WebView pode exibir conteúdo misto. Conteúdo misto é o conteúdo que é inicialmente carregado através de uma conexão HTTPS, mas que carrega recursos (como imagens, áudio, vídeo, folhas de estilo, scripts) através 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:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls">
    <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>

Como alternativa, ele pode ser consumido do C# usando a API fluente:

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

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

O WebView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android> método especifica que essa plataforma específica só será executada no Android. O WebView.SetMixedContentMode método, no namespace, é usado para controlar se o Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific conteúdo misto pode ser exibido, com a MixedContentHandling enumeração fornecendo três valores possíveis:

  • AlwaysAllow – indica que o WebView permitirá que uma origem HTTPS carregue conteúdo de uma origem HTTP.
  • NeverAllow – indica que o WebView não permitirá que uma origem HTTPS carregue conteúdo de uma origem HTTP.
  • CompatibilityMode – indica que o WebView tentará ser compatível com a abordagem do navegador da web do dispositivo mais recente. Alguns conteúdos HTTP podem ter permissão para serem carregados por uma origem HTTPS e outros tipos de conteúdo serão bloqueados. Os tipos de conteúdo bloqueados ou permitidos podem mudar com cada versão do sistema operacional.

O resultado é que um valor especificado MixedContentHandling é aplicado ao , que controla se o WebViewconteúdo misto pode ser exibido:

WebView mixed content handling platform-specific.