Немного зависит, если вы определили свой WebView
в коде или XAML.
Если вы определили его в коде, убедитесь, что у вас есть ссылка на него по имени переменной, например:
var myWebView = new WebView();
myWebView
- это то, о чем я говорю в этом случае.
Затем включите это в верхнюю часть вашего класса:
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
Затем добавьте эту строку после инициализации WebView
:
myWebView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
Из XAML добавьте правильное пространство имен в корень вашей страницы, например:
<ContentPage xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" ....>
Затем на вашем WebView
вы можете просто добавить еще один атрибут: <WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
Это так называемые особенности платформы. Вы можете установить специфичные для платформы свойства непосредственно из общего кода Xamarin.Forms, в отличие от наличия собственного средства визуализации для одного простого свойства.
Подробнее об этом здесь: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/platform-specifics/ и потребление (на самом деле это конкретный случай) здесь: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/platform-specifics/consuming/android#enabling-mixed-content-in-a-webview
Примечание о фактической настройке, которую вы здесь устанавливаете, в примере я просто установил ее на AlwaysAllow
, убедитесь, что вы знаете, что делает каждая опция, и установите ее как наиболее безопасную. Вот небольшое объяснение, взятое из Документов Microsoft:
AlwaysAllow
- указывает, что WebView
позволит источнику HTTPS загружать контент из источника HTTP.
NeverAllow
- указывает, что WebView
не позволит источнику HTTPS загружать контент из источника HTTP.
CompatibilityMode
- указывает, что WebView
будет пытаться быть совместимым с подходом последнего веб-браузера устройства. Немного
Может быть разрешено загружать содержимое HTTP источником HTTPS и другими
типы контента будут заблокированы. Типы контента, которые
заблокировано или разрешено может меняться с каждым выпуском операционной системы.