Freigeben über


WebView

Die .NET Multi-Platform App UI (.NET MAUI) WebView zeigt Remotewebseiten, lokale HTML-Dateien und HTML-Zeichenfolgen in einer App an. Der angezeigte Inhalt bei einer WebView umfasst Unterstützung für Cascading Style Sheets (CSS) und JavaScript. Standardmäßig enthalten .NET MAUI-Projekte die Plattformberechtigungen, die für eine WebView erforderlich sind, um eine Remotewebseite anzuzeigen.

WebView definiert die folgenden Eigenschaften:

  • Cookies, vom Typ CookieContainer, bietet Speicherplatz für eine Sammlung von Cookies.
  • CanGoBack, ein Element vom Typ bool, gibt an, ob der Benutzer zu vorherigen Seiten navigieren kann. Dies ist eine schreibgeschützte Eigenschaft.
  • CanGoForwardvon Typ boolgibt an, ob der Benutzer vorwärts navigieren kann. Dies ist eine schreibgeschützte Eigenschaft.
  • Source, vom Typ WebViewSource, stellt die Position dar, die vom WebView angezeigt wird.
  • UserAgent, vom Typ string, stellt den Benutzer-Agent dar. Der Standardwert ist der Benutzer-Agent des zugrunde liegenden Plattformbrowsers oder null, wenn er nicht bestimmt werden kann.

Diese Eigenschaften werden durch BindableProperty Objekte gesichert, was bedeutet, dass sie Ziele von Datenbindungen sein können und formatiert werden können.

Die Source-Eigenschaft kann auf ein UrlWebViewSource-Objekt oder ein HtmlWebViewSource-Objekt festgelegt werden, das beide von WebViewSourceabgeleitet ist. Ein UrlWebViewSource wird zum Laden einer Webseite verwendet, die mit einer URL angegeben ist, während ein HtmlWebViewSource-Objekt zum Laden einer lokalen HTML-Datei oder lokalem HTML verwendet wird.

WebView definiert ein Navigating Ereignis, das beim Starten der Seitennavigation ausgelöst wird, und ein Navigated Ereignis, das ausgelöst wird, wenn die Seitennavigation abgeschlossen ist. Das WebNavigatingEventArgs-Objekt, das das Navigating-Ereignis begleitet, definiert eine Cancel Eigenschaft vom Typ bool, die zum Abbrechen der Navigation verwendet werden kann. Das WebNavigatedEventArgs-Objekt, das das Navigated-Ereignis begleitet, definiert eine Result Eigenschaft vom Typ WebNavigationResult, die das Navigationsergebnis angibt.

WebView definiert die folgenden Ereignisse:

  • Navigatingwird ausgelöst, wenn die Seitennavigation beginnt. Das WebNavigatingEventArgs-Objekt, das dieses Ereignis begleitet, definiert eine Cancel-Eigenschaft des Typs bool, die zum Abbrechen der Navigation verwendet werden kann.
  • Navigatedwird ausgelöst, wenn die Seitennavigation abgeschlossen ist. Das WebNavigatedEventArgs-Objekt, das dieses Ereignis begleitet, definiert eine Result-Eigenschaft vom Typ WebNavigationResult, die das Navigationsergebnis angibt.
  • ProcessTerminatedwird ausgelöst, wenn ein WebView-Prozess unerwartet endet. Das WebViewProcessTerminatedEventArgs-Objekt, das dieses Ereignis begleitet, definiert plattformspezifische Eigenschaften, die angeben, warum der Prozess fehlgeschlagen ist.

Wichtig

Ein WebView muss seine HeightRequest- und WidthRequest-Eigenschaften angeben, wenn es in einem HorizontalStackLayout, StackLayoutoder VerticalStackLayoutenthalten ist. Wenn Sie diese Eigenschaften nicht angeben, wird die WebView nicht angezeigt.

Anzeigen einer Webseite

Um eine entfernte Webseite anzuzeigen, legen Sie die Source-Eigenschaft auf eine string fest, die den URI angibt.

<WebView Source="https://learn.microsoft.com/dotnet/maui" />

Der entsprechende C#-Code lautet:

WebView webvView = new WebView
{
    Source = "https://learn.microsoft.com/dotnet/maui"
};

URIs müssen vollständig mit dem angegebenen Protokoll gebildet werden.

Anmerkung

Trotz der Source Eigenschaft vom Typ WebViewSourcekann die Eigenschaft auf einen zeichenfolgenbasierten URI festgelegt werden. Dies liegt daran, dass .NET MAUI einen Typkonverter und einen impliziten Konvertierungsoperator enthält, der den Zeichenfolgen-basierten URI in ein UrlWebViewSource-Objekt konvertiert.

Konfigurieren Sie App Transport Security unter iOS und Mac Catalyst

Seit Version 9 ermöglicht iOS ihrer App nur die Kommunikation mit sicheren Servern. Eine App muss sich für die Aktivierung der Kommunikation mit unsicheren Servern entscheiden.

Die folgende Info.plist Konfiguration zeigt, wie eine bestimmte Domäne die Anforderungen von Apple Transport Security (ATS) umgehen kann:

	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSExceptionDomains</key>
		<dict>
			<key>mydomain.com</key>
			<dict>
				<key>NSIncludesSubdomains</key>
				<true/>
				<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
				<true/>
				<key>NSTemporaryExceptionMinimumTLSVersion</key>
				<string>TLSv1.1</string>
			</dict>
		</dict>
	</dict>

Es empfiehlt sich, nur bestimmte Domänen zum Umgehen von ATS zu aktivieren, sodass Sie vertrauenswürdige Websites verwenden können, während Sie von zusätzlicher Sicherheit für nicht vertrauenswürdige Domänen profitieren.

Die folgende Info.plist Konfiguration zeigt, wie man ATS für eine App deaktiviert:

	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>

Wichtig

Wenn Ihre App eine Verbindung mit einer unsicheren Website erfordert, sollten Sie die Domäne immer als Ausnahme mithilfe des NSExceptionDomains-Schlüssels eingeben, anstatt ATS vollständig über den NSAllowsArbitraryLoads-Schlüssel zu deaktivieren.

Lokales HTML anzeigen

Zum Anzeigen von Inline-HTML legen Sie die Source-Eigenschaft auf ein HtmlWebViewSource-Objekt fest:

<WebView>
    <WebView.Source>
        <HtmlWebViewSource Html="&lt;HTML&gt;&lt;BODY&gt;&lt;H1&gt;.NET MAUI&lt;/H1&gt;&lt;P&gt;Welcome to WebView.&lt;/P&gt;&lt;/BODY&gt;&lt;HTML&gt;" />
    </WebView.Source>
</WebView>

In XAML können HTML-Zeichenfolgen aufgrund der Maskierung der <- und >-Symbole unlesbar werden. Aus diesem Grund kann der HTML-Code in einem CDATA Abschnitt inlineiert werden:

<WebView>
    <WebView.Source>
        <HtmlWebViewSource>
            <HtmlWebViewSource.Html>
                <![CDATA[
                <HTML>
                <BODY>
                <H1>.NET MAUI</H1>
                <P>Welcome to WebView.</P>
                </BODY>
                </HTML>
                ]]>
            </HtmlWebViewSource.Html>
        </HtmlWebViewSource>
    </WebView.Source>
</WebView>

Der entsprechende C#-Code lautet:

WebView webView = new WebView
{
    Source = new HtmlWebViewSource
    {
        Html = @"<HTML><BODY><H1>.NET MAUI</H1><P>Welcome to WebView.</P></BODY></HTML>"
    }
};

Anzeigen einer lokalen HTML-Datei

Um eine lokale HTML-Datei anzuzeigen, fügen Sie die Datei dem Ordner Resources\Raw Ihres App-Projekts hinzu, und legen Sie die Buildaktion auf MauiAssetfest. Anschließend kann die Datei aus Inline-HTML geladen werden, die in einem HtmlWebViewSource-Objekt definiert ist, das als Wert der Source-Eigenschaft festgelegt ist:

<WebView>
    <WebView.Source>
        <HtmlWebViewSource>
            <HtmlWebViewSource.Html>
                <![CDATA[
                <html>
                <head>
                </head>
                <body>
                <h1>.NET MAUI</h1>
                <p>The CSS and image are loaded from local files!</p>
                <p><a href="localfile.html">next page</a></p>
                </body>
                </html>                    
                ]]>
            </HtmlWebViewSource.Html>
        </HtmlWebViewSource>
    </WebView.Source>
</WebView>

Die lokale HTML-Datei kann Cascading Style Sheets (CSS), JavaScript und Bilder laden, wenn sie Ihrem App-Projekt auch mit der MauiAsset Build-Aktion hinzugefügt wurden.

** Weitere Informationen zu Rohressourcen finden Sie unter Rohressourcen.

Inhalt neu laden

WebView verfügt über eine Reload Methode, die aufgerufen werden kann, um die Quelle neu zu laden:

WebView webView = new WebView();
...
webView.Reload();

Wenn die Reload-Methode aufgerufen wird, wird das ReloadRequested-Ereignis ausgelöst, das angibt, dass eine Anforderung zum Erneutladen des aktuellen Inhalts vorgenommen wurde.

Navigation ausführen

WebView unterstützt die programmgesteuerte Navigation mit den methoden GoBack und GoForward. Diese Methoden ermöglichen die Navigation über den WebView Seitenstapel und sollten nur aufgerufen werden, nachdem die Werte der eigenschaften CanGoBack und CanGoForward überprüft wurden:

WebView webView = new WebView();
...

// Go backwards, if allowed.
if (webView.CanGoBack)
{
    webView.GoBack();
}

// Go forwards, if allowed.
if (webView.CanGoForward)
{
    webView.GoForward();
}

Erfolgt die Seitennavigation in einem WebViewentweder programmgesteuert oder vom Benutzer initiiert, treten die folgenden Ereignisse auf:

  • Navigating, die beim Starten der Seitennavigation ausgelöst wird. Das WebNavigatingEventArgs-Objekt, das das Navigating-Ereignis begleitet, definiert eine Cancel Eigenschaft vom Typ bool, die zum Abbrechen der Navigation verwendet werden kann.
  • Navigated, die ausgelöst wird, wenn die Seitennavigation abgeschlossen ist. Das WebNavigatedEventArgs-Objekt, das das Navigated-Ereignis begleitet, definiert eine Result Eigenschaft vom Typ WebNavigationResult, die das Navigationsergebnis angibt.

Verwaltung von Berechtigungen unter Android

Wenn Sie zu einer Seite navigieren, die den Zugriff auf die Aufnahmehardware des Geräts anfordert, z. B. die Kamera oder das Mikrofon, muss die Berechtigung vom WebView-Steuerelement erteilt werden. Das WebView-Steuerelement verwendet den Android.Webkit.WebChromeClient Typ unter Android, um auf Berechtigungsanforderungen zu reagieren. Die von .NET MAUI bereitgestellte WebChromeClient Implementierung ignoriert jedoch Berechtigungsanforderungen. Sie müssen einen neuen Typ erstellen, der von MauiWebChromeClient erbt und die Berechtigungsanforderungen genehmigt.

Wichtig

Zum Anpassen der WebView zum Genehmigen von Berechtigungsanforderungen mit diesem Ansatz ist die Android-API 26 oder höher erforderlich.

Die Berechtigungsanfragen von einer Webseite an das WebView-Steuerelement unterscheiden sich von den Berechtigungsanfragen der .NET MAUI-App an den Benutzer. .NET MAUI-App-Berechtigungen werden vom Benutzer für die gesamte App angefordert und genehmigt. Das WebView-Steuerelement hängt von der App-Fähigkeit ab, auf die Hardware zuzugreifen. Um dieses Konzept zu veranschaulichen, ziehen Sie eine Webseite in Betracht, die den Zugriff auf die Kamera des Geräts anfordert. Obwohl diese Anforderung vom WebView-Steuerelement genehmigt wurde und die .NET MAUI-App keine Benutzerberechtigung für den Zugriff auf die Kamera hat, könnte die Webseite nicht auf die Kamera zugreifen.

Die folgenden Schritte veranschaulichen, wie Berechtigungsanforderungen vom WebView-Steuerelement abgefangen werden können, um die Kamera zu nutzen. Wenn Sie versuchen, das Mikrofon zu verwenden, sind die Schritte ähnlich, mit der Ausnahme, dass Sie mikrofonbezogene Berechtigungen anstelle von kamerabezogenen Berechtigungen verwenden würden.

  1. Fügen Sie zunächst dem Android-Manifest die erforderlichen App-Berechtigungen hinzu. Öffnen Sie die Datei Platforms/Android/AndroidManifest.xml, und fügen Sie Folgendes im Knoten manifest hinzu:

    <uses-permission android:name="android.permission.CAMERA" />
    
  2. Fordern Sie zu einem bestimmten Zeitpunkt innerhalb Ihrer App, beispielsweise wenn die Seite, die ein WebView-Steuerelement enthält, geladen wird, den Benutzer auf, die Berechtigung zur App-Nutzung der Kamera zu erteilen.

    private async Task RequestCameraPermission()
    {
        PermissionStatus status = await Permissions.CheckStatusAsync<Permissions.Camera>();
    
        if (status != PermissionStatus.Granted)
            await Permissions.RequestAsync<Permissions.Camera>();
    }
    
  3. Fügen Sie die folgende Klasse zum Ordner Platforms/Android hinzu, und ändern Sie den Stammnamespace so, dass er dem Namespace Ihres Projekts entspricht (fügen Sie .Platforms.Android nicht an den Namespace an):

    using Android.Webkit;
    using Microsoft.Maui.Handlers;
    using Microsoft.Maui.Platform;
    
    namespace MauiAppWebViewHandlers.Platforms.Android;
    
    internal class MyWebChromeClient: MauiWebChromeClient
    {
        public MyWebChromeClient(IWebViewHandler handler) : base(handler)
        {
    
        }
    
        public override void OnPermissionRequest(PermissionRequest request)
        {
            // Process each request
            foreach (var resource in request.GetResources())
            {
                // Check if the web page is requesting permission to the camera
                if (resource.Equals(PermissionRequest.ResourceVideoCapture, StringComparison.OrdinalIgnoreCase))
                {
                    // Get the status of the .NET MAUI app's access to the camera
                    PermissionStatus status = Permissions.CheckStatusAsync<Permissions.Camera>().Result;
    
                    // Deny the web page's request if the app's access to the camera is not "Granted"
                    if (status != PermissionStatus.Granted)
                        request.Deny();
                    else
                        request.Grant(request.GetResources());
    
                    return;
                }
            }
    
            base.OnPermissionRequest(request);
        }
    }
    

    Im vorherigen Codeausschnitt erbt die MyWebChromeClient-Klasse von MauiWebChromeClientund überschreibt die OnPermissionRequest-Methode, um Webseitenberechtigungsanforderungen abzufangen. Jedes Berechtigungselement wird überprüft, um festzustellen, ob es mit der PermissionRequest.ResourceVideoCapture String-Konstante übereinstimmt, die die Kamera darstellt. Wenn eine Kameraberechtigung übereinstimmt, überprüft der Code, ob die App über die Berechtigung zum Verwenden der Kamera verfügt. Wenn die Webseite über die Berechtigung verfügt, wird ihre Anfrage erteilt.

  4. Verwenden Sie die SetWebChromeClient-Methode des Android-WebView-Steuerelements, um den Chrome-Client auf MyWebChromeClientfestzulegen. Die folgenden beiden Elemente veranschaulichen, wie Sie den Chromclient festlegen können:

    • Aufgrund eines .NET MAUI-WebView-Steuerelements mit dem Namen theWebViewControlkönnen Sie den Chromclient direkt in der Plattformansicht festlegen, bei dem es sich um das Android-Steuerelement handelt:

      ((IWebViewHandler)theWebViewControl.Handler).PlatformView.SetWebChromeClient(new MyWebChromeClient((IWebViewHandler)theWebViewControl.Handler));
      
    • Sie können die Handler-Eigenschaftenzuordnung auch verwenden, um zu erzwingen, dass alle WebView Steuerelemente Ihren Chrome-Client verwenden. Weitere Informationen finden Sie unter Handler.

      Die CustomizeWebViewHandler-Methode des folgenden Codeausschnitts sollte aufgerufen werden, wenn die App gestartet wird, z. B. in der MauiProgram.CreateMauiApp-Methode.

      private static void CustomizeWebViewHandler()
      {
      #if ANDROID26_0_OR_GREATER
          Microsoft.Maui.Handlers.WebViewHandler.Mapper.ModifyMapping(
              nameof(Android.Webkit.WebView.WebChromeClient),
              (handler, view, args) => handler.PlatformView.SetWebChromeClient(new MyWebChromeClient(handler)));
      #endif
      }
      

Cookies einstellen

Cookies können auf einem Gerät WebView festgelegt werden, sodass sie mit der Webanforderung an die angegebene URL gesendet werden. Legen Sie die Cookies fest, indem Sie Cookie Objekte zu einem CookieContainerhinzufügen und dann den Container als Wert der WebView.Cookies bindable-Eigenschaft festlegen. Der folgende Code zeigt ein Beispiel:

using System.Net;

CookieContainer cookieContainer = new CookieContainer();
Uri uri = new Uri("https://learn.microsoft.com/dotnet/maui", UriKind.RelativeOrAbsolute);

Cookie cookie = new Cookie
{
    Name = "DotNetMAUICookie",
    Expires = DateTime.Now.AddDays(1),
    Value = "My cookie",
    Domain = uri.Host,
    Path = "/"
};
cookieContainer.Add(uri, cookie);
webView.Cookies = cookieContainer;
webView.Source = new UrlWebViewSource { Url = uri.ToString() };

In diesem Beispiel wird dem CookieContainer-Objekt ein einzelnes Cookie hinzugefügt, das dann als Wert der WebView.Cookies-Eigenschaft festgelegt wird. Wenn der WebView eine Webanforderung an die angegebene URL sendet, wird das Cookie mit der Anforderung gesendet.

Aufrufen von JavaScript

WebView umfasst die Möglichkeit, eine JavaScript-Funktion aus C# aufzurufen und jedes Ergebnis an den aufrufenden C#-Code zurückzugeben. Diese Interoperabilität wird mit der EvaluateJavaScriptAsync-Methode erreicht, die im folgenden Beispiel gezeigt wird:

Entry numberEntry = new Entry { Text = "5" };
Label resultLabel = new Label();
WebView webView = new WebView();
...

int number = int.Parse(numberEntry.Text);
string result = await webView.EvaluateJavaScriptAsync($"factorial({number})");
resultLabel.Text = $"Factorial of {number} is {result}.";

Die WebView.EvaluateJavaScriptAsync-Methode wertet das JavaScript aus, das als Argument angegeben ist, und gibt jedes Ergebnis als stringzurück. In diesem Beispiel wird die factorial JavaScript-Funktion aufgerufen, die die Faktorial der number als Ergebnis zurückgibt. Diese JavaScript-Funktion wird in der lokalen HTML-Datei definiert, die vom WebView geladen wird, und wird im folgenden Beispiel gezeigt:

<html>
<body>
<script type="text/javascript">
function factorial(num) {
        if (num === 0 || num === 1)
            return 1;
        for (var i = num - 1; i >= 1; i--) {
            num *= i;
        }
        return num;
}
</script>
</body>
</html>

Konfigurieren Sie die native WebView auf iOS und Mac Catalyst

Das systemeigene WebView-Steuerelement ist ein MauiWKWebView unter iOS und Mac Catalyst, das von WKWebViewabgeleitet wird. Eine der MauiWKWebView-Konstruktorüberladungen ermöglicht die Angabe eines WKWebViewConfiguration-Objekts, das Informationen zum Konfigurieren des WKWebView-Objekts bereitstellt. Typische Konfigurationen umfassen das Festlegen des Benutzer-Agents, das Spezifizieren von Cookies, die für Ihre Webinhalte verfügbar sein sollen, und das Einfügen von benutzerdefinierten Skripts in Ihre Webinhalte.

Sie können ein WKWebViewConfiguration-Objekt in Ihrer App erstellen und dann die Eigenschaften nach Bedarf konfigurieren. Alternativ können Sie die statische MauiWKWebView.CreateConfiguration-Methode aufrufen, um das WKWebViewConfiguration-Objekt von .NET MAUI abzurufen und dann zu ändern. Das WKWebViewConfiguration-Objekt kann dann als Argument für die MauiWKWebView-Konstruktorüberladung angegeben werden.

Da die Konfiguration der nativen WebView bei iOS und Mac Catalyst nicht geändert werden kann, nachdem die Plattformansicht des Handlers erstellt wurde, sollten Sie einen benutzerdefinierten Handler-Factorydelegat erstellen, um ihn zu ändern:

#if IOS || MACCATALYST
using WebKit;
using CoreGraphics;
using Microsoft.Maui.Platform;
using Microsoft.Maui.Handlers;
#endif
...

#if IOS || MACCATALYST
    Microsoft.Maui.Handlers.WebViewHandler.PlatformViewFactory = (handler) =>
    {
        WKWebViewConfiguration config = MauiWKWebView.CreateConfiguration();
        config.ApplicationNameForUserAgent = "MyProduct/1.0.0";
        return new MauiWKWebView(CGRect.Empty, (WebViewHandler)handler, config);
    };
#endif

Anmerkung

Sie sollten MauiWKWebView mit einem WKWebViewConfiguration-Objekt konfigurieren, bevor ein WebView in Ihrer App angezeigt wird. Geeignete Orte hierfür befinden sich im Startpfad Ihrer App, z. B. in MauiProgram.cs oder App.xaml.cs.

Festlegen von Einstellungen für die Medienwiedergabe unter iOS und Mac Catalyst

Die Inline-Wiedergabe von HTML5-Videos, einschließlich automatischer Wiedergabe und Bild-im-Bild, ist für die WebView standardmäßig unter iOS und Mac Catalyst aktiviert. Um diese Standardeinstellung zu ändern oder andere Medienwiedergabeeinstellungen festzulegen, sollten Sie einen benutzerdefinierten Handler-Factorydelegat erstellen, da Medienwiedergabeeinstellungen nicht geändert werden können, nachdem die Plattformansicht des Handlers erstellt wurde. Der folgende Code zeigt ein Beispiel dafür:

#if IOS || MACCATALYST
using WebKit;
using CoreGraphics;
using Microsoft.Maui.Platform;
using Microsoft.Maui.Handlers;
#endif
...

#if IOS || MACCATALYST
    Microsoft.Maui.Handlers.WebViewHandler.PlatformViewFactory = (handler) =>
    {
        WKWebViewConfiguration config = MauiWKWebView.CreateConfiguration();

        // True to play HTML5 videos inliine, false to use the native full-screen controller.
        config.AllowsInlineMediaPlayback = false;

        // True to play videos over AirPlay, otherwise false.
        config.AllowsAirPlayForMediaPlayback = false;

        // True to let HTML5 videos play Picture in Picture.
        config.AllowsPictureInPictureMediaPlayback = false;

        // Media types that require a user gesture to begin playing.
        config.MediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypes.All;

        return new MauiWKWebView(CGRect.Empty, (WebViewHandler)handler, config);
    };
#endif

Weitere Informationen zum Konfigurieren einer WebView unter iOS finden Sie unter Konfigurieren Sie die native WebView auf iOS und Mac Catalyst.

WebView auf Mac Catalyst inspizieren

Wenn Sie die Safari-Entwicklertools verwenden möchten, um den Inhalt eines WebView auf Mac Catalyst zu überprüfen, fügen Sie den folgenden Code in Ihre App ein:

#if MACCATALYST
        Microsoft.Maui.Handlers.WebViewHandler.Mapper.AppendToMapping("Inspect", (handler, view) =>
        {
            if (OperatingSystem.IsMacCatalystVersionAtLeast(16, 6))
                handler.PlatformView.Inspectable = true;
        });
#endif

Dieser Code konfiguriert den Eigenschafts-Mapper für die WebViewHandler auf Mac Catalyst, um die WebView-Inhalte durch die Safari-Entwickler-Tools inspizierbar zu machen. Weitere Informationen zu Handlern finden Sie unter Handlern.

So verwenden Sie Safari-Entwicklertools mit einer Mac Catalyst-App:

  1. Öffnen Sie Safari auf Ihrem Mac.
  2. Aktivieren Sie in Safari das Kontrollkästchen Safari > Einstellungen > Erweitert > Menü 'Entwickeln in der Menüleiste anzeigen'.
  3. Führen Sie Ihre .NET MAUI Mac Catalyst-App aus.
  4. Wählen Sie in Safari das Menü Entwickeln > {Gerätename} aus, wobei der Platzhalter {Device name} durch Ihren Gerätenamen, etwa Macbook Pro, ersetzt wird. Wählen Sie dann den Eintrag unter Ihrem App-Namen aus, wodurch auch die ausgeführte App hervorgehoben wird. Dadurch wird das Fenster des Webinspektors angezeigt.

Starten des Systembrowsers

Es ist möglich, einen URI im Systemwebbrowser mit der Launcher-Klasse zu öffnen, die von Microsoft.Maui.Essentialsbereitgestellt wird. Rufen Sie die OpenAsync-Methode des Startprogramms auf und übergeben Sie ein string- oder Uri-Argument, das den URI, der geöffnet werden soll, darstellt.

await Launcher.OpenAsync("https://learn.microsoft.com/dotnet/maui");

Weitere Informationen finden Sie bei Launcher.