共用方式為


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,以控制是否可以顯示混合內容:

WebView mixed content handling platform-specific.