Поделиться через


Смешанное содержимое WebView в Android

Этот многоплатформенный пользовательский интерфейс приложений .NET (.NET MAUI) для платформы Android определяет, может ли WebView отображаться смешанное содержимое. Смешанное содержимое — это содержимое, которое изначально загружено через HTTPS-подключение, но которое загружает ресурсы (например, изображения, аудио, видео, таблицы стилей, скрипты) через HTTP-подключение. Он используется в XAML, задав WebView.MixedContentMode присоединенное свойство значение перечисления MixedContentHandling :

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

Кроме того, его можно использовать из C# с помощью api fluent:

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

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

Метод WebView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android> указывает, что эта платформа будет работать только в Android. Метод WebView.SetMixedContentMode в Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific пространстве имен используется для управления отображением смешанного содержимого с MixedContentHandling перечислением, предоставляющим три возможных значения:

  • AlwaysAllow — указывает, что WebView источник HTTPS может загружать содержимое из источника HTTP.
  • NeverAllow — указывает, что WebView источник HTTPS не будет загружать содержимое из источника HTTP.
  • CompatibilityMode — указывает, что WebView попытка быть совместима с подходом последнего веб-браузера устройства. Некоторые содержимое HTTP могут быть загружены источником HTTPS, а другие типы контента будут заблокированы. Типы содержимого, которые заблокированы или разрешены, могут изменяться при каждом выпуске операционной системы.

Результатом является то, что к указанному MixedContentHandling значению применяется WebViewзначение, которое определяет, можно ли отображать смешанное содержимое:

WebView mixed content handling platform-specific.