Übersicht über WebView2-APIs

Durch das Einbetten des WebView2-Steuerelements in Ihre App erhält Ihre App Zugriff auf verschiedene Browserfeatures über Methoden und Eigenschaften, die über die WebView2-Klassen oder -Schnittstellen bereitgestellt werden.

WebView2 verfügt über Hunderte von APIs, die eine Vielzahl von Funktionen bereitstellen, von der Verbesserung der nativen Plattformfunktionen Ihrer App bis hin zur Aktivierung Ihrer App zum Ändern der Browsererfahrungen. Dieser Artikel enthält eine allgemeine Gruppierung der WebView2-APIs, damit Sie die verschiedenen Aufgaben verstehen, die Sie mit WebView2 ausführen können.

Detaillierter Inhalt:

Übersicht über Featurebereiche der obersten Ebene

Beim Hosten des WebView2-Steuerelements hat Ihre App Zugriff auf die folgenden Features und APIs:

Funktionsbereich Zweck
Hauptklassen: Umgebung, Controller und Core Die Klassen , CoreWebView2Controllerund CoreWebView2 (oder CoreWebView2Environmententsprechende Schnittstellen) arbeiten zusammen, damit Ihre App ein WebView2-Browsersteuerelement hosten und auf seine Browserfeatures zugreifen kann. Diese großen Klassen stellen eine breite Palette von APIs zur Verfügung, auf die Ihre Host-App zugreifen kann, um die unten aufgeführten Kategorien von browserbezogenen Features für Ihre Benutzer bereitzustellen.
Web-/native Interoperabilität Einbetten von Webinhalten in native Anwendungen. Kommunizieren Sie zwischen nativem Code und Webcode mithilfe einfacher Nachrichten, JavaScript-Code und nativen Objekten.
Browserfeatures Mit dem WebView2-Steuerelement erhält Ihre App Zugriff auf viele Browserfeatures. Sie können diese Browserfunktionen ändern und ein- oder ausschalten.
Prozessmanagement Erhalten Sie Informationen zum Ausführen von WebView2-Prozessen, zum Beenden von Prozessen und zu fehlgeschlagenen Prozessen, damit Ihre App entsprechende Maßnahmen ergreifen kann.
Navigieren zu Seiten und Verwalten geladener Inhalte Verwalten Sie die Navigation zu Webseiten und verwalten Sie Inhalte, die auf die Webseiten geladen werden.
iframes Betten Sie andere Webseiten in Ihre eigene Webseite ein. Erkennen, wann eingebettete Webseiten erstellt werden, erkennen, wann eingebettete Webseiten navigieren, und optional X-frame-Optionen umgehen.
Authentifizierung Ihre App kann die Standardauthentifizierung mithilfe des WebView2-Steuerelements verarbeiten. Die Standardauthentifizierung ist ein spezieller Authentifizierungsansatz, der Teil des HTTP-Protokolls ist.
Rendern von WebView2 in Nicht-Framework-Apps Verwenden Sie diese APIs zum Einrichten des WebView2-Renderingsystems, wenn Ihre Host-App kein UI-Framework verwendet. Dieses Renderingsetup steuert, wie WebView2 die Ausgabe in Ihre Host-App rendert und wie WebView2 Eingabe, Fokus und Barrierefreiheit verarbeitet.
Rendern von WebView2 mit Composition Verwenden Sie CoreWebView2Environment für das kompositionsbasierte WebView2-Rendering zum Erstellen einer CoreWebView2CompositionController. CoreWebView2CompositionController stellt die gleichen APIs wie CoreWebView2Controllerbereit, enthält aber auch APIs für das kompositionsbasierte Rendering.
Umgebungsoptionen Benutzerdaten: Verwalten Sie den Benutzerdatenordner (UDF), der ein Ordner auf dem Computer des Benutzers ist. Die benutzerdefinierte Datei enthält Daten im Zusammenhang mit der Host-App und WebView2. WebView2-Apps verwenden Benutzerdatenordner, um Browserdaten wie Cookies, Berechtigungen und zwischengespeicherte Ressourcen zu speichern. Verwalten Sie mehrere Profile unter einem einzelnen UDF.
Die Laufzeitauswahl unterstützt Vorabversionstests und Selbsthosting. Sie können eine Suchreihenfolge für Browservorschaukanäle angeben und angeben, nach welchen Browservorschaukanälen gesucht wird.
Leistung und Debugging Analysieren und debuggen Sie die Leistung, behandeln Sie leistungsbezogene Ereignisse und verwalten Sie die Speicherauslastung, um die Reaktionsfähigkeit Ihrer App zu erhöhen.
Chrome DevTools-Protokoll (CDP) Instrumentieren, Untersuchen, Debuggen und Profilieren von Chromium-basierten Browsern. Das Chrome DevTools-Protokoll (CDP) ist die Grundlage für die Microsoft Edge DevTools. Verwenden Sie das Chrome DevTools-Protokoll für Features, die nicht in der WebView2-Plattform implementiert sind.

Auf dieser Seite werden nur APIs aufgelistet, die in Release-SDKs enthalten sind. Es werden keine experimentellen APIs oder stabilen APIs aufgeführt, die noch nicht in Release SDKs verfügbar sind. Eine umfassende Liste der APIs, einschließlich experimenteller APIs, finden Sie in den Versionshinweisen für WebView2.

Hauptklassen: Umgebung, Controller und Core

Die Klassen , CoreWebView2Controllerund CoreWebView2 (oder CoreWebView2Environmententsprechende Schnittstellen) arbeiten zusammen, damit Ihre App ein WebView2-Browsersteuerelement hosten und auf seine Browserfeatures zugreifen kann. Diese drei großen Klassen stellen eine breite Palette von APIs zur Verfügung, auf die Ihre Host-App zugreifen kann, um Ihren Benutzern viele Kategorien von browserbezogenen Features bereitzustellen.

  • Die CoreWebView2Environment Klasse repräsentiert eine Gruppe von WebView2-Steuerelementen, die denselben WebView2-Browserprozess, denselben Benutzerdatenordner und denselben Rendererprozess verwenden. Aus dieser CoreWebView2Environment Klasse erstellen Sie Paare von CoreWebView2Controller und CoreWebView2 Instanzen.

  • Die CoreWebView2Controller Klasse ist für das Hosting von Funktionen wie Fensterfokus, Sichtbarkeit, Größe und Eingabe verantwortlich, wo Ihre App das WebView2-Steuerelement hostet.

  • Die CoreWebView2 Klasse ist für die webspezifischen Teile des WebView2-Steuerelements vorgesehen, einschließlich Netzwerk, Navigation, Skript sowie Analysieren und Rendern von HTML.

Siehe auch:

Web-/native Interoperabilität

Mit dem Microsoft Edge WebView2-Steuerelement können Sie Webinhalte in native Anwendungen einbetten. Sie können mit einfachen Meldungen, JavaScript-Code und nativen Objekten zwischen systemeigenem Code und Webcode kommunizieren. Im Folgenden finden Sie die wichtigsten APIs für die Kommunikation zwischen Web- und systemeigenem Code.

Häufige Anwendungsfälle für Web-/native Interoperabilität:

  • Aktualisieren Sie den Titel des systemeigenen Hostfensters, nachdem Sie zu einer anderen Website navigiert haben.
  • Senden Sie ein natives Kameraobjekt und verwenden Sie seine Methoden aus einer Web-App.
  • Ausführen einer dedizierten JavaScript-Datei auf der Webseite einer Anwendung

Siehe auch:

Gemeinsame Nutzung von Host-/Webobjekten

WebView2 ermöglicht die Übergabe von Objekten, die in systemeigenem Code definiert sind, an den webseitigen Code Ihrer App. Hostobjekte sind alle Objekte, die in systemeigenem Code definiert sind, den Sie an den webseitigen Code Ihrer App übergeben.

Hostobjekte können in JavaScript projiziert werden, sodass Sie systemeigene Objektmethoden (oder andere APIs) aus dem webseitigen Code Ihrer App aufrufen können. Beispielsweise kann Ihre App solche APIs als Ergebnis einer Benutzerinteraktion auf der Webseite Ihrer App aufrufen. Auf diese Weise müssen Sie die APIs Ihrer nativen Objekte, z. B. Methoden oder Eigenschaften, in Ihrem webseitigen Code nicht erneut implementieren.

Skriptausführung

Ermöglicht der Host-App das Hinzufügen von JavaScript-Code zum Webinhalt innerhalb des WebView2-Steuerelements.

Webnachrichten

Ihre App kann Nachrichten an Webinhalte senden, die sich innerhalb des WebView2-Steuerelements befinden, und Nachrichten von diesen Webinhalten empfangen. Nachrichten werden als Zeichenfolgen oder JSON-Objekte gesendet.

Sie können DOM-Objekte optional zusammen mit Ihrer Nachricht über den additionalObjects Parameter ( PostWebMessageAsJson .NET, WinRT) oder über PostWebMessageAsJsonWithAdditionalObjects (Win32) posten und empfangen. Die WebView2-Klasse CoreWebView2FileSystemHandle stellt das DOM FileSystemHandleund CoreWebView2File das DOM Filedar. Siehe auch chrome.webview.postMessageWithAdditionalObjects in der JavaScript-Referenz.

Skriptdialoge

Beim Hosten von WebView2 kann Ihre App verschiedene JavaScript-Dialogfelder verwalten, um sie zu unterdrücken oder durch benutzerdefinierte Dialogfelder zu ersetzen.

Freigegebener Puffer

Die SharedBuffer-API unterstützt die gemeinsame Nutzung von Puffern zwischen dem WebView2-Host-App-Prozess und dem WebView2-Rendererprozess, basierend auf dem freigegebenen Speicher des Betriebssystems.

Siehe auch:

Browserfeatures

Mit dem WebView2-Steuerelement erhält Ihre App Zugriff auf viele Browserfeatures. Sie können diese Browserfunktionen ändern und ein- oder ausschalten.

Drucken

Sie können eine Webseite auf einem Drucker, in einer PDF-Datei oder in einem PDF-Stream drucken, indem Sie benutzerdefinierte Druckeinstellungen konfigurieren.

Siehe auch:

Cookies

Sie können Cookies in WebView2 verwenden, um Benutzersitzungen zu verwalten, Benutzerpersonalisierungseinstellungen zu speichern und Benutzerverhalten nachzuverfolgen.

Siehe auch:

Bilderfassung

Durch das Hosten von WebView2 kann Ihre App Screenshots erfassen und angeben, welches Format zum Speichern des Bilds verwendet werden soll.

Steuern, ob die Benutzeroberfläche für die Bildschirmaufnahme angezeigt wird

Das ScreenCaptureStarting Ereignis wird ausgelöst, wenn der WebView2 und/oder iframe, der dem CoreWebView2Frame (oder einem seiner nachgeordneten iframes) entspricht, die Berechtigung zum Verwenden der Screen Mitschreiben-API anfordert, bevor die Benutzeroberfläche angezeigt wird. Die App kann dann die Anzeige der Benutzeroberfläche blockieren oder zulassen, dass die Benutzeroberfläche angezeigt wird.

Suchen

Mit der Find-API können Sie Suchvorgänge programmgesteuert steuern und Ihrer App die folgenden Funktionen hinzufügen:

  • Anpassen der Suchoptionen, einschließlich "Begriff suchen", Groß- und Kleinschreibung, Word Match-Übereinstimmung,Match-Hervorhebung und Standardunterdrückung der Benutzeroberfläche.
  • Suchen Sie nach Textzeichenfolgen, und navigieren Sie zwischen ihnen innerhalb eines WebView2-Steuerelements.
  • Programmgesteuertes Initiieren von Suchvorgängen und Navigieren in Suchergebnissen .
  • Unterdrücken der Standardbenutzeroberfläche "Suchen ".
  • Verfolgen Sie den Status von Suchvorgängen nach.

Es gibt bekannte Probleme mit der Suche-API für PDF-Dokumente. Wenn Sie ein PDF-Dokument in einem WebView2-Steuerelement anzeigen, stellt das Feature "Suchen " derzeit nur den ersten Index und die Anzahl der gefundenen Übereinstimmungen bereit. Wenn die Zeichenfolge beispielsweise dreimal in einer PDF-Datei vorkommt, würde die Benutzeroberfläche "1/3 " sagen und das programmgesteuerte Aufrufen von "Next " oder "Previous" nicht unterstützen.

Wir untersuchen diese Probleme aktiv und ermutigen Sie, alle aufgetretenen Probleme über das WebView2Feedback-Repository zu melden.

Downloads

Ihre App kann die Downloaderfahrung in WebView2 verwalten. Ihre App kann:

  • Zulassen oder Blockieren von Downloads basierend auf unterschiedlichen Metadaten.
  • Ändern Sie den Downloadspeicherort.
  • Konfigurieren Sie eine benutzerdefinierte Downloadbenutzeroberfläche.
  • Passen Sie die Standardbenutzeroberfläche an.

Allgemein:

Standardoberfläche ändern:

Benutzerdefinierte Downloaderfahrung:

Speichern unter

Mit den "Speichern unter"-APIs können Sie den Vorgang "Speichern unter " programmgesteuert ausführen. Sie können diese APIs verwenden, um das standardmäßige Dialogfeld "Speichern unter " zu blockieren und dann entweder im Hintergrund zu speichern oder Ihre eigene Benutzeroberfläche für "Speichern unter" zu erstellen. Diese APIs beziehen sich nur auf das Dialogfeld "Speichern unter ", nicht auf das Dialogfeld "Herunterladen ", das die Download-APIs verwendet.

Konfigurieren der Sicherheitswarnung beim Speichern einer Datei

Durch Abhören des SaveFileSecurityCheckStarting Ereignisses kann Ihre App einen Handler für dieses Ereignis registrieren, um den Dateipfad, die Dateinamenerweiterung und den Dokumentursprung URI-Informationen abzurufen. Sie können dann Ihre eigenen Regeln anwenden, um Aktionen wie die folgenden durchzuführen:

  • Speichern der Datei zulassen, ohne eine standardmäßige Benutzeroberfläche für die Sicherheitswarnung für die Dateityprichtlinie anzuzeigen.
  • Brechen Sie den Speichervorgang ab.
  • Erstellen Sie eine eigene Benutzeroberfläche zum Verwalten von Laufzeitdateityprichtlinien.

Verarbeiten von Webbenachrichtigungen

Webbenachrichtigungs-APIs unterstützen nicht beständige Benachrichtigungen. Das NotificationReceived Ereignis für CoreWebView2 steuert die Verarbeitung von Webbenachrichtigungen und ermöglicht die Anpassung oder Unterdrückung durch die Host-App. Unbehandelte Benachrichtigungen werden standardmäßig auf der Benutzeroberfläche von WebView2 verwendet.

Berechtigungen

Auf verschiedenen Webseiten werden Sie möglicherweise um Berechtigungen für den Zugriff auf einige privilegierte Ressourcen wie Geolocation-Sensor, Kamera und Mikrofon gebeten. Ihre Host-App kann programmgesteuert auf Berechtigungsanforderungen reagieren und die Standardbenutzeroberfläche für Berechtigungen durch ihre eigene Benutzeroberfläche ersetzen.

Kontextmenüs

Das WebView2-Steuerelement stellt ein Standardkontextmenü (Rechtsklickmenü) bereit, das Sie anpassen oder deaktivieren können. Sie können auch ein eigenes Kontextmenü erstellen.

Siehe auch:

Statusleiste

Eine status Leiste befindet sich unten links auf der Seite und zeigt den Status der angezeigten Webseite an. In WebView2 können Sie die Status-Leiste aktivieren/deaktivieren, den Text in der Status-Leiste abrufen und herausfinden, wann sich der Text der Status-Leiste geändert hat.

Bildlaufleisten mit Fluent-Überlagerung

Stilisiert Bildlaufleisten mit Microsoft Fluent Design und lässt die Bildlaufleisten über den Webinhalt legen. Dieses adaptive Bildlaufleistendesign passt sich an verschiedene Geräte und Fenstergrößen an.

Um mit Fluent-Überlagerungs-Bildlaufleisten zu experimentieren, wechseln Sie in Microsoft Edge zu edge://flagsFluent-Überlagerungs-Bildlaufleisten, und geben Sie diese dann ein.

Siehe auch:

Benutzer-Agent

Der User-Agent ist eine Zeichenfolge, die die Identität des Programms im Namen des Benutzers darstellt, z. B. der Name des Browsers. In WebView2 können Sie den Benutzer-Agent festlegen.

Siehe auch:

Automatisch ausfüllen

Ihre App kann unabhängig steuern, ob die AutoAusfüllenfunktion des Browsers für allgemeine Informationen oder für Kennwörter aktiviert ist.

Audio

Ihre App kann alle Audiolaute stummschalten und die Stummschaltung aufheben und herausfinden, wann Audio wiedergegeben wird.

Treffertests von Mausklicks in Regionen

Liefert Treffertestergebnisse für die Regionen, die ein WebView2 enthält. Nützlich für visuell gehostete Anwendungen, die Mausereignisse im Nicht-Clientbereich des WebView2-Fensters behandeln möchten.

Navigation durch Wischgeste

Durch das Hosten des WebView2-Steuerelements kann Ihre App die Navigation durch Wischgesten auf Geräten mit Toucheingabe aktivieren oder deaktivieren. Mit dieser Geste können Endbenutzer:

  • Wischen Sie nach links/rechts (horizontal wischen), um zur vorherigen oder nächsten Seite im Navigationsverlauf zu navigieren.
  • Ziehen, um die aktuelle Seite zu aktualisieren (vertikal wischen).

Dieses Feature ist derzeit standardmäßig im Browser deaktiviert. Um dieses Feature in WebView2 zu aktivieren, legen Sie die AdditionalBrowserArguments Eigenschaft fest, und geben Sie den --pull-to-refresh Schalter an.

Aktivieren oder Deaktivieren des Browsers, der auf Schnellinfos (Tastenkombinationen) reagiert

ICoreWebView2AcceleratorKeyPressedEventArgs Verfügt über eine IsBrowserAcceleratorKeyEnabled Eigenschaft, mit der Sie steuern können, ob der Browser Tastenkombinationen (Tastenkombinationen) wie STRG+P oder F3 verarbeitet.

Siehe auch:

Vollbild

In WebView2 können Sie herausfinden, wann ein HTML-Element in die Vollbildansicht wechselt oder diese verlässt.

PDF-Symbolleiste

Im PDF-Viewer des Browsers befindet sich oben eine PDF-spezifische Symbolleiste. In WebView2 können Sie einige der Elemente in der PDF-Viewer-Symbolleiste ausblenden.

Design

In WebView2 können Sie das Farbdesign als System, Hell oder Dunkel anpassen.

Sprache

Die Language Eigenschaft legt die Standardanzeigesprache für WebView2 fest, die für die Browser-Benutzeroberfläche (z. B. Kontextmenüs und Dialogfelder) gilt, zusammen mit der Festlegung des HTTP-Headers, den accept-language WebView2 an Websites sendet.

Die ScriptLocale Eigenschaft ermöglicht es der Host-App, das Standardgebietsschema für alle Intl JavaScript-APIs und andere davon abhängige JavaScript-APIs festzulegen, z. B Intl.DateTimeFormat(). , was sich auf die Zeichenfolgenformatierung in Zeit-/Datumsformaten auswirkt.

Neues Fenster

WebView2 bietet Funktionen zum Behandeln der JavaScript-Funktion window.open().

Schließen des Fensters

WebView2 bietet Funktionen zum Behandeln der JavaScript-Funktion window.close().

Dokumenttitel

Ihre App kann erkennen, wenn sich der Titel des aktuellen Dokuments der obersten Ebene geändert hat.

Favicon

In WebView2 können Sie ein Favicon für eine Website festlegen oder sich benachrichtigen lassen, wenn es sich ändert.

Sicherheit und Datenschutz

Tracking verhindern

Mit der Tracking-Verhinderung kann die Host-App den Grad der Tracking-Verhinderung des WebView2-Steuerelements steuern, das dem Benutzerprofil zugeordnet ist.

SmartScreen

Microsoft Defender SmartScreen ("SmartScreen") ist standardmäßig aktiviert. Die IsReputationCheckingRequired Eigenschaft steuert, ob SmartScreen aktiviert ist.

Wenn Sie SmartScreen nicht deaktivieren, müssen Sie alle Benutzer darauf hinweisen, dass Ihre Software Microsoft Defender SmartScreen enthält und die Benutzerinformationen sammelt und an Microsoft sendet, wie in den Microsoft-Datenschutzbestimmungen und in SmartScreen in Benutzerdaten und Datenschutz in Microsoft Edge angegeben.

Siehe auch:

Benutzerdefinierte Absturzberichte

Bei Abstürzen eines WebView2-Prozesses werden eine oder mehrere Minidumpdateien erstellt und zur Diagnose an Microsoft gesendet. Verwenden Sie diese API, um die Absturzberichterstellung beim Ausführen von Diagnosen und Analysen anzupassen.

  • Um zu verhindern, dass Absturzabbilder an Microsoft gesendet werden, setzen Sie die IsCustomCrashReportingEnabled Eigenschaft auf false.
  • Verwenden Sie die CrashDumpFolderPath Eigenschaft, um Absturzabbilder zu suchen und Anpassungen damit vorzunehmen.

Siehe auch:

Browsererweiterungen

Ihre App kann ein WebView2-Steuerelement einbetten, das eine Microsoft Edge-Erweiterung verwendet. Eine Microsoft Edge-Erweiterung ist eine kleine App, mit der Entwickler Features von Microsoft Edge hinzufügen oder ändern können, um die Browsererfahrung eines Benutzers zu verbessern.

Siehe auch:

Prozessmanagement

Erhalten Sie Informationen über das Ausführen von WebView2-Prozessen, das Beenden von Prozessen und fehlgeschlagene Prozesse, damit Ihre App entsprechende Maßnahmen ergreifen kann.

Informationen zum Frameprozess

Die Frameprozess-Info-API, einschließlich GetProcessExtendedInfos, bietet eine Momentaufnahme aller Frames, die aktiv im zugeordneten Rendererprozess ausgeführt werden. Mit dieser API kann Ihre App erkennen, welcher Teil von WebView2 Ressourcen wie Arbeitsspeicher- oder CPU-Auslastung beansprucht.

Hintergrundverarbeitung und Offlineunterstützung aktivieren (WebView2-Worker-APIs)

Die WebView2-Worker-APIs ermöglichen Hostanwendungen die Interaktion mit Webworkern, um Aufgaben aus dem Hauptthread auszulagern, die Reaktionsfähigkeit zu verbessern und Hintergrundvorgänge zu unterstützen. Zu diesen Web-Workern gehören dedizierte Worker, freigegebene Worker und Service Worker.

Diese APIs bieten Folgendes:

  • Lebenszyklusereignisse: Beaufsichtige die Schaffung und Vernichtung von Arbeitern.
  • Messagingschnittstellen: Kommunizieren Sie mit Workern mithilfe von PostMessage und WebMessageReceived;, insbesondere:
    • CoreWebView2ServiceWorker.PostWebMessageAsJson
    • CoreWebView2ServiceWorker.PostWebMessageAsString
    • CoreWebView2DedicatedWorker.PostWebMessageAsJson
    • CoreWebView2DedicatedWorker.PostWebMessageAsString
    • CoreWebView2ServiceWorker.WebMessageReceived
    • CoreWebView2DedicatedWorker.WebMessageReceived
    • chrome.webview.postMessage
    • Nicht: chrome.webview.postMessageWithAdditionalObjects
  • Workerverwaltung: Abfragen und Abrufen von Worker-Registrierungen und -Instanzen.

Über das WebView2-Steuerelement kann Ihre App die Navigation zu Webseiten verwalten und Inhalte verwalten, die auf den Webseiten geladen werden.

Verwalten von Inhalten, die in WebView2 geladen wurden

Diese APIs laden, beenden das Laden und laden Inhalte neu in WebView2. Folgende Inhalte können geladen werden:

  • Inhalt aus einer URL.
  • Eine HTML-Zeichenfolge.
  • Lokale Inhalte über den Namen des virtuellen Hosts zu lokalen Ordnerzuordnungen.
  • Inhalt einer erstellten Netzwerkanforderung enthält.

Siehe auch:

Die Verlaufsmethoden ermöglichen die Rück- und Vorwärtsnavigation in WebView2, und die Verlaufsereignisse liefern Informationen über die Änderungen im Verlauf und in der aktuellen Quelle von WebView2.

NavigationKind Ruft die Navigationsart jeder Navigation ab, z. B. Rückwärts/Vorwärts, Neu laden oder Navigation zu einem neuen Dokument.

Blockieren Sie unerwünschtes Navigieren

Das NavigationStarting Ereignis ermöglicht es der App, die Navigation zu angegebenen URLs in WebView2 abzubrechen, einschließlich für Frames.

Mit NavigationStarting und den anderen Navigationsereignissen kann die App über den Status der Navigation in WebView2 informiert werden. Eine Navigation ist der Prozess zum Laden einer neuen URL.

Siehe auch:

Verwalten von Netzwerkanforderungen in WebView2

Das WebResourceRequested Ereignis ermöglicht es der App, alle Netzwerkanforderungen in WebView2 abzufangen und außer Kraft zu setzen. Das WebResourceResponseReceived Ereignis ermöglicht es der App, die an das Netzwerk gesendete Anforderung und die vom Netzwerk empfangene Antwort zu überwachen.

Siehe auch:

Registrierung benutzerdefinierter Schemas

Das CustomSchemeRegistration ermöglicht die Registrierung von benutzerdefinierten Schemas in WebView2, sodass die App das WebResourceRequested Ereignis für Anforderungen an diese benutzerdefinierten Schema-URLs verarbeiten und WebView2 zu solchen URLs navigieren kann.

Clientzertifikate

In WebView2 können Sie die Clientzertifikat-API verwenden, um das Clientzertifikat auf Anwendungsebene auszuwählen. Mit dieser API können Sie:

  • Zeigen Sie dem Benutzer bei Bedarf eine Benutzeroberfläche an.
  • Dialogaufforderung für das Standardclientzertifikat ersetzen.
  • Fragen Sie die Zertifikate programmgesteuert ab.
  • Wählen Sie ein Zertifikat aus der Liste aus, das dem Server antworten soll, wenn WebView2 eine Anforderung an einen HTTP-Server sendet, der ein Clientzertifikat für die HTTP-Authentifizierung benötigt.

Serverzertifikate

In WebView2 können Sie die Serverzertifikat-API verwenden, um dem TLS-Zertifikat des Servers auf Anwendungsebene zu vertrauen. Auf diese Weise kann Ihre Host-App die Seite rendern, ohne den Benutzer auf den TLS-Fehler hinzuweisen, oder Ihre Host-App kann die Anforderung automatisch abbrechen.

Starten eines externen URI-Schemas

Starten Sie ein URI-Schema, das beim Betriebssystem registriert ist.

iframes

Mit iframes können Sie andere Webseiten in Ihre eigene Webseite einbetten. In WebView2 können Sie:

  • Finden Sie heraus, wann iframes erstellt werden.
  • Finden Sie heraus, wann iframes navigieren.
  • Umgehen von X-Frame-Optionen zulassen.

Siehe auch:

Authentifizierung

Ihre App kann die Standardauthentifizierung mithilfe des WebView2-Steuerelements verarbeiten. Die Standardauthentifizierung ist ein spezieller Authentifizierungsansatz, der Teil des HTTP-Protokolls ist.

Siehe auch:

Rendern von WebView2 in Nicht-Framework-Apps

Verwenden Sie diese APIs zum Einrichten des WebView2-Renderingsystems, wenn Ihre Host-App kein UI-Framework verwendet. Dieses Renderingsetup steuert, wie WebView2 die Ausgabe in Ihre Host-App rendert und wie WebView2 Eingabe, Fokus und Barrierefreiheit verarbeitet.

Wann sollten diese APIs verwendet werden?

  • UI-Framework : Wenn Sie ein UI-Framework für Ihre App verwenden, sollten Sie das WebView2-Element verwenden, das von diesem UI-Framework bereitgestellt wird, anstatt diese APIs zu verwenden.

  • Kein UI-Framework und keine Verwendung von Composition – Wenn Sie kein UI-Framework für Ihre App verwenden (z. B. wenn Sie direkt reines Win32 verwenden) oder wenn Ihr UI-Framework kein WebView2-Element aufweist, müssen Sie es mithilfe dieser APIs in diesem Abschnitt erstellen CoreWebView2Controller und in Ihre App rendern.

  • Kein UI-Framework und unter Verwendung von Composition – Wenn Ihre App-Benutzeroberfläche mit DirectComposition oder Windows.UI.Composition erstellt wird, sollten CoreWebView2CompositionController Sie diese APIs verwenden, anstatt sie zu verwenden. Weitere Informationen finden Sie unten unter Rendern von WebView2 mit Composition.

Größe, Positionierung und Sichtbarkeit

CoreWebView2Controller Takes a Parent HWND. Die Bounds Eigenschaft definiert und positioniert WebView2 relativ zum übergeordneten HWNDElement. Die Sichtbarkeit von WebView2 kann mit IsVisibleumgeschaltet werden.

Zoomen

WebView2 ZoomFactor wird verwendet, um nur den Webinhalt des Fensters zu skalieren. Die Skalierung der Benutzeroberfläche wird auch aktualisiert, wenn der Benutzer den Inhalt zoomt, indem er beim Drehen des Mausrads STRG drückt.

Rasterung skalieren

Die RasterizationScale-API skaliert die gesamte WebView2-Benutzeroberfläche, einschließlich Kontextmenüs, QuickInfo und Popups. Die App kann festlegen, ob WebView2 Skalierungsänderungen erkennen und überwachen und die RasterizationScale automatisch aktualisieren soll. BoundsMode wird verwendet, um zu konfigurieren, ob die Bounds-Eigenschaft als Rohpixel oder DIPs (die skaliert werden müssen um RasterizationScaleinterpretiert wird).

Fokus und Tabulator

Das WebView2-Steuerelement löst Ereignisse aus, um der App mitzuteilen, wann das Steuerelement den Fokus erhält oder verliert. Für das Tabbing (Drücken der TAB-TASTE ) gibt es eine API zum Verschieben des Fokus in WebView2 und ein Ereignis für WebView2, um die App aufzufordern, den Fokus zurück zu nehmen.

Übergeordnetes Fenster

WebView2 kann einem anderen übergeordneten Fensterhandle (HWND) neu zugeordnet werden. WebView2 muss auch benachrichtigt werden, wenn sich die Position der App auf dem Bildschirm geändert hat.

Tastenkombinationen

Wenn WebView2 den Fokus hat, empfängt es direkt Eingaben vom Benutzer. Eine App möchte möglicherweise bestimmte Tastenkombinationen (Tastenkombinationen) abfangen und verarbeiten oder das normale Verhalten der Browser-Tastenkombinationen deaktivieren.

Siehe auch Aktivieren oder Deaktivieren des Browsers, der auf Schnellinfos (Tastenkombinationen) reagiert, weiter oben.

Standardhintergrundfarbe

WebView2 kann eine Standardhintergrundfarbe angeben. Die Farbe kann eine beliebige undurchsichtige Farbe oder transparent sein. Diese Farbe wird verwendet, wenn die HTML-Seite keine eigene Hintergrundfarbe festlegt.

Siehe auch:

Rendern von WebView2 mit Composition

Verwenden Sie CoreWebView2Environment für das kompositionsbasierte WebView2-Rendering zum Erstellen einer CoreWebView2CompositionController. CoreWebView2CompositionController stellt die gleichen APIs wie CoreWebView2Controllerbereit, enthält aber auch APIs für das kompositionsbasierte Rendering.

Verbinden mit der visuellen Struktur

WebView2 kann seine Kompositionsstruktur mit einem IDCompositionVisual, IDCompositionTarget oder Windows::UI::Composition::ContainerVisualverbinden.

Eingabe weiterleiten

Räumliche Eingaben (Maus, Toucheingabe, Stift) werden von der Anwendung empfangen und müssen an WebView2 gesendet werden. WebView2 benachrichtigt die App, wenn der Cursor basierend auf der Mausposition aktualisiert werden soll.

Eingabeereignisnachrichten durch das Browserfenster laufen lassen

Ermöglicht Ereignismeldungen zur Benutzereingabe (Tastatur, Maus, Toucheingabe oder Stift) das Browserfenster durchlaufen und von einem App-Prozessfenster empfangen werden.

Drag amp; Drop

Das Ziehen von einem WebView2-Steuerelement in eine andere Anwendung wird standardmäßig unterstützt. Das Ziehen auf ein WebView2-Steuerelement erfordert jedoch, dass die Host-App ein Ereignis an das WebView2-Steuerelement weiterleiten muss, wenn sie ein IDropTarget Ereignis vom System empfängt. Das Ziehen in ein WebView2-Steuerelement umfasst Drag-and-Drop-Vorgänge, die sich vollständig innerhalb eines WebView2-Steuerelements befinden.

Verwenden Sie die folgenden APIs, um Ereignisse vom System an das WebView2-Steuerelement weiterzuleiten IDropTarget .

Barrierefreiheit

Standardmäßig wird WebView2 in der Barrierefreiheitsstruktur als untergeordnetes Element des übergeordneten HWND für Win32/C++-Apps angezeigt. WebView2 bietet eine API, um den WebView2-Inhalt relativ zu anderen Elementen in der Anwendung besser zu positionieren.

Nicht zutreffend.

Umgebungsoptionen

Benutzerdaten

Verwalten des Benutzerdatenordners (User Data Folder, UDF), bei dem es sich um einen Ordner auf dem Computer des Benutzers handelt. Die benutzerdefinierte Datei enthält Daten im Zusammenhang mit der Host-App und WebView2. WebView2-Apps verwenden Benutzerdatenordner, um Browserdaten wie Cookies, Berechtigungen und zwischengespeicherte Ressourcen zu speichern.

Siehe auch:

Browserdaten löschen:

Mehrere Profile

Verwalten Sie mehrere Profile unter einem einzigen Benutzerdatenordner.

Siehe auch:

Erstellen Sie ein options-Objekt, das ein Profil definiert:

Erstellen Sie ein WebView2-Steuerelement, das das Profil verwendet:

Zugreifen auf und Bearbeiten des Profils:

Löschen eines Profils

Ihre App kann Benutzerprofile für ein WebView2-Webbrowser-Steuerelement löschen.

Siehe auch:

Laufzeitauswahl

Die Laufzeitauswahl unterstützt Vorabversionstests und Selbsthosting. Beim Erstellen einer WebView2-Umgebung:

  • Verwenden Sie die CoreWebView2EnvironmentOptions.ChannelSearchKind Eigenschaft, um eine Suchreihenfolge für Browservorschaukanäle anzugeben.
  • Verwenden Sie die CoreWebView2EnvironmentOptions.ReleaseChannels Eigenschaft, um anzugeben, nach welchen Browservorschaukanälen gesucht wird.

Siehe auch:

Leistung und Debugging

Analysieren und debuggen Sie die Leistung, behandeln Sie leistungsbezogene Ereignisse und verwalten Sie die Speicherauslastung, um die Reaktionsfähigkeit Ihrer App zu erhöhen.

Ziel für die Arbeitsspeicherauslastung

Gibt Speicherauslastungsstufen an, z. B low . oder normal.

Chrome DevTools-Protokoll (CDP)

Das Chrome DevTools-Protokoll (CDP) stellt APIs zum Instrumentieren, Untersuchen, Debuggen und Profilieren von Chromium-basierten Browsern bereit. Das Chrome DevTools-Protokoll ist die Grundlage für die Microsoft Edge DevTools. Verwenden Sie das Chrome DevTools-Protokoll für Features, die nicht in der WebView2-Plattform implementiert sind.

Siehe auch:

Geöffnet:

Aufruf:

Empfänger:

Siehe auch