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ın WebView BIR HTTP kaynağından içerik yüklemesine izin verileceğini belirtir.
  • NeverAllow – https kaynağının WebView bir HTTP kaynağından içerik yüklemesine izin verileceğini belirtir.
  • CompatibilityMode – öğesinin WebView 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 WebViewuygulanmasıdır:

WebView karma içerik işleme platformuna özgü