Android'de WebView Karma İçeriği
Bu Android platformuna özgü, api WebView
21 veya üzerini hedefleyen uygulamalarda karma içerik görüntüleyip görüntüleyemeyeceğini denetler. Karma içerik, başlangıçta HTTPS bağlantısı üzerinden yüklenen ancak kaynakları (görüntüler, ses, video, stil sayfaları, betikler gibi) HTTP bağlantısı üzerinden yükleyen içeriktir. Ekli özelliği sabit listesi değerine MixedContentHandling
ayarlayarak WebView.MixedContentMode
XAML'de kullanılır:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>
Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
webView.On<Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
yöntemi, WebView.On<Android>
platforma özgü bu uygulamanın yalnızca Android'de çalışacağını belirtir. WebView.SetMixedContentMode
ad alanındaki Xamarin.Forms.PlatformConfiguration.AndroidSpecific
yöntemi, karışık içeriğin görüntülenip görüntülenemeyeceğini MixedContentHandling
denetlemek için kullanılır ve numaralandırma üç olası değer sağlar:
AlwaysAllow
– bir HTTPS kaynağınınWebView
BIR HTTP kaynağından içerik yüklemesine izin verileceğini belirtir.NeverAllow
– https kaynağınınWebView
bir HTTP kaynağından içerik yüklemesine izin verileceğini belirtir.CompatibilityMode
– öğesininWebView
en son cihaz web tarayıcısının yaklaşımıyla uyumlu olmaya çalışacağını belirtir. Bazı HTTP içeriğinin bir HTTPS kaynağı tarafından yüklenmesine izin verilebilir ve diğer içerik türleri engellenir. Engellenen veya izin verilen içerik türleri her işletim sistemi sürümünde değişebilir.
Sonuç, karma içeriğin görüntülenip görüntülenemeyeceğini denetleyen öğesine belirtilen MixedContentHandling
bir değerin WebView
uygulanmasıdır: