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

Download Sample Скачайте пример

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

<ContentPage ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
    <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>

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

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);

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

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

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

WebView mixed content handling platform-specific