Смешанное содержимое WebView в Android
Эта платформа 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
значение, которое определяет, можно ли отображать смешанное содержимое: