Android 上的 WebView 混合內容
此 .NET 多平臺應用程式 UI (.NET MAUI) Android 平臺特定控制件是否可以 WebView 顯示混合內容。 混合內容是一開始透過 HTTPS 連線載入的內容,但會透過 HTTP 連線載入資源(例如影像、音訊、視訊、樣式表單、腳本)。 它會在 XAML 中取用,方法是將 WebView.MixedContentMode
附加屬性設定為 列舉的值 MixedContentHandling
:
<ContentPage ...
xmlns:android="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls">
<WebView ... android:WebView.MixedContentMode="AlwaysAllow" />
</ContentPage>
或者,您可以使用 Fluent API 從 C# 取用它:
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
...
webView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().SetMixedContentMode(MixedContentHandling.AlwaysAllow);
方法 WebView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>
會指定此平台專屬只會在Android上執行。 命名空間 WebView.SetMixedContentMode
中的 Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific
方法可用來控制是否可以顯示混合內容,而 MixedContentHandling
列舉提供三個可能的值:
AlwaysAllow
– 表示 WebView 將允許 HTTPS 來源從 HTTP 來源載入內容。NeverAllow
– 表示 WebView 不允許 HTTPS 來源從 HTTP 來源載入內容。CompatibilityMode
– 表示 WebView 會嘗試與最新裝置網頁瀏覽器的方法相容。 某些 HTTP 內容可能允許由 HTTPS 來源載入,而其他類型的內容將會遭到封鎖。 封鎖或允許的內容類型可能會隨著每個操作系統版本而變更。
結果是,指定的 MixedContentHandling
值會套用至 WebView,以控制是否可以顯示混合內容: