Contenu mixte WebView sur Android
Cette plateforme Android contrôle si un WebView
contenu mixte peut être affiché dans des applications qui ciblent l’API 21 ou ultérieure. Le contenu mixte est du contenu initialement chargé sur une connexion HTTPS, mais qui charge des ressources (telles que des images, des images, des vidéos, des feuilles de style, des scripts) via une connexion HTTP. Elle est consommée en XAML en définissant la WebView.MixedContentMode
propriété jointe sur une valeur de l’énumération MixedContentHandling
:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>
Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
La WebView.On<Android>
méthode spécifie que cette plateforme spécifique ne s’exécutera que sur Android. La WebView.SetMixedContentMode
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.AndroidSpecific
de noms, est utilisée pour contrôler si le contenu mixte peut être affiché, avec l’énumération MixedContentHandling
fournissant trois valeurs possibles :
AlwaysAllow
: indique que l’origineWebView
HTTPS permet de charger du contenu à partir d’une origine HTTP.NeverAllow
: indique que l’origineWebView
HTTPS n’autorise pas le chargement du contenu à partir d’une origine HTTP.CompatibilityMode
: indique que laWebView
tentative de compatibilité avec l’approche du navigateur web de l’appareil le plus récent. Certains contenus HTTP peuvent être autorisés à être chargés par une origine HTTPS et d’autres types de contenu seront bloqués. Les types de contenu bloqués ou autorisés peuvent changer avec chaque version du système d’exploitation.
Le résultat est qu’une valeur spécifiée MixedContentHandling
est appliquée au WebView
, qui contrôle si le contenu mixte peut être affiché :