Freigeben über


Übersicht über WebView2-Features und -APIs

Durch das Einbetten des WebView2-Steuerelements in Ihre App erhält Ihre App Zugriff auf verschiedene 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, die von der Erweiterung der nativen Plattformfunktionen Ihrer App bis hin zum Ändern der Browsererfahrung für Ihre App reichen. Dieser Artikel enthält eine allgemeine Gruppierung der WebView2-APIs, die Ihnen helfen soll, die verschiedenen Möglichkeiten mit WebView2 zu verstehen.

Übersicht über die 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 Kern Die CoreWebView2EnvironmentKlassen , CoreWebView2Controllerund CoreWebView2 (oder entsprechende Schnittstellen) arbeiten zusammen, damit Ihre App ein WebView2-Browsersteuerelement hosten und auf die zugehörigen Browserfeatures zugreifen kann. Diese großen Klassen machen eine vielzahl von APIs verfügbar, auf die Ihre Host-App zugreifen kann, um Den Benutzern die folgenden Kategorien browserbezogener Features bereitzustellen.
Web-/native Interop Einbetten von Webinhalten in native Anwendungen Kommunizieren Zwischen nativem Code und Webcode mithilfe einfacher Nachrichten, JavaScript-Code und nativer Objekte.
Browserfeatures Das WebView2-Steuerelement bietet Ihrer App Zugriff auf viele Browserfeatures. Sie können diese Browserfeatures ändern und sie aktivieren oder deaktivieren.
Prozessmanagement Rufen Sie Informationen zum Ausführen von WebView2-Prozessen, zum Beenden von Prozessen und fehlgeschlagenen Prozessen ab, damit Ihre App entsprechende Maßnahmen ergreifen kann.
Navigieren zu Seiten und Verwalten von geladenen Inhalten Verwalten der Navigation zu Webseiten und Verwalten von Inhalten, die auf den Webseiten geladen werden.
iframes Betten Sie andere Webseiten in Ihre eigene Webseite ein. Erkennen Sie, wann eingebettete Webseiten erstellt werden, erkennen Sie, wann eingebettete Webseiten navigieren, und umgehen Sie optional X-Frame-Optionen.
Authentifizierung Ihre App kann die Standardauthentifizierung mithilfe des WebView2-Steuerelements verarbeiten. Die Standardauthentifizierung ist ein spezifischer Authentifizierungsansatz, der Teil des HTTP-Protokolls ist.
Rendern von WebView2 in Nicht-Framework-Apps Verwenden Sie diese APIs, um das WebView2-Renderingsystem einzurichten, wenn Ihre Host-App kein Benutzeroberflächenframework verwendet. Dieses Renderingsetup steuert, wie WebView2 die Ausgabe in Ihrer Host-App rendert und wie WebView2 Eingaben, Fokus und Barrierefreiheit verarbeitet.
Rendern von WebView2 mithilfe von Composition Verwenden Sie CoreWebView2Environment für kompositionsbasiertes WebView2-Rendering, um eine CoreWebView2CompositionControllerzu erstellen. CoreWebView2CompositionController stellt die gleichen APIs wie CoreWebView2Controllerbereit, enthält aber auch APIs für kompositionsbasiertes Rendering.
Umgebungsoptionen Benutzerdaten: Verwalten Sie den Benutzerdatenordner (User Data Folder, UDF), bei dem es sich um einen Ordner auf dem Computer des Benutzers handelt. Die UDF 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 mehrerer Profile unter einer einzelnen UDF.
Die Laufzeitauswahl unterstützt Vorabversionentests und Selbsthosting. Sie können eine Suchreihenfolge für Browservorschaukanäle angeben und angeben, nach welchen Browservorschaukanälen gesucht wird.
Leistung und Debuggen 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, Überprüfen, Debuggen und Profilieren 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 aufgelistet, die noch nicht in Release-SDKs verfügbar sind. Eine umfassende Liste der APIs, einschließlich experimenteller APIs, finden Sie unter Versionshinweise für das WebView2 SDK.

Hauptklassen: Umgebung, Controller und Kern

Die CoreWebView2EnvironmentKlassen , CoreWebView2Controllerund CoreWebView2 (oder entsprechende Schnittstellen) arbeiten zusammen, damit Ihre App ein WebView2-Browsersteuerelement hosten und auf die zugehörigen Browserfeatures zugreifen kann. Diese drei großen Klassen machen eine breite Palette von APIs verfügbar, auf die Ihre Host-App zugreifen kann, um Viele Kategorien von browserbezogenen Features für Ihre Benutzer bereitzustellen.

  • Die CoreWebView2Environment -Klasse stellt eine Gruppe von WebView2-Steuerelementen dar, die denselben WebView2-Browserprozess, benutzerdatenordner und Rendererprozess gemeinsam nutzen. Aus dieser CoreWebView2Environment Klasse erstellen Sie Paare von CoreWebView2Controller - und CoreWebView2 -Instanzen.
  • Die CoreWebView2Controller -Klasse ist für hostingbezogene Funktionen wie Fensterfokus, Sichtbarkeit, Größe und Eingabe zuständig, in denen Ihre App das WebView2-Steuerelement hostet.
  • Die CoreWebView2 -Klasse ist für die webspezifischen Teile des WebView2-Steuerelements vorgesehen, einschließlich Netzwerk, Navigation, Skript und Analysieren und Rendern von HTML.

Siehe auch:

Web-/native Interop

Mit dem Microsoft Edge WebView2-Steuerelement können Sie Webinhalte in native Anwendungen einbetten. Sie können zwischen nativem Code und Webcode mithilfe einfacher Nachrichten, JavaScript-Code und nativer Objekte kommunizieren. Im Folgenden sind die Standard-APIs für die Kommunikation zwischen Webcode und nativem Code aufgeführt.

Unterabschnitte unten:

Häufige Anwendungsfälle für web-/native Interop:

  • Aktualisieren Sie den Titel des nativen Hostfensters, nachdem Sie zu einer anderen Website navigiert haben.
  • Senden Sie ein natives Kameraobjekt, und verwenden Sie dessen Methoden aus einer Web-App.
  • Führen Sie eine dedizierte JavaScript-Datei auf der Webseite einer Anwendung aus.

Siehe auch:

Host-/Webobjektfreigabe

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

Hostobjekte können in JavaScript projiziert werden, sodass Sie native 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, nicht erneut in Ihren webseitigen Code implementieren.

Skriptausführung

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

Webmessaging

Ihre App kann Nachrichten an den Webinhalt senden, der sich im WebView2-Steuerelement befindet, und Nachrichten von diesen Webinhalten empfangen. Nachrichten werden als Zeichenfolgen oder JSON-Objekte gesendet.

Optional können Sie DOM-Objekte 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. Weitere Informationen finden Sie auch chrome.webview.postMessageWithAdditionalObjects in der JavaScript-Referenz.

Skriptdialoge

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

Freigegebener Puffer

Die SharedBuffer-API unterstützt die Freigabe von Puffern zwischen dem WebView2-Host-App-Prozess und dem WebView2-Rendererprozess, basierend auf freigegebenem Arbeitsspeicher des Betriebssystems.

Siehe auch:

Browserfeatures

Das WebView2-Steuerelement bietet Ihrer App Zugriff auf viele Browserfeatures. Sie können diese Browserfeatures ändern und sie aktivieren oder deaktivieren.

Unterabschnitte unten:

Drucken

Sie können eine Webseite in einem Drucker, einer PDF-Datei oder 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 das Benutzerverhalten nachzuverfolgen.

Siehe auch:

Bildaufnahme

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

Downloads

Ihre App kann die Downloaderfahrung in WebView2 verwalten. Ihre App hat folgende Möglichkeiten:

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

Allgemein:

Standarderfahrung ä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 Standarddialogfeld Speichern unter zu blockieren und dann entweder im Hintergrund zu speichern oder eine eigene Benutzeroberfläche für Speichern unter zu erstellen. Diese APIs beziehen sich nur auf das Dialogfeld Speichern unter , nicht auf das Dialogfeld Herunterladen , in dem die Download-APIs verwendet werden.

Konfigurieren der Sicherheitswarnung beim Speichern einer Datei

Indem Sie auf das SaveFileSecurityCheckStarting Ereignis lauscht, kann Ihre App einen Handler für dieses Ereignis registrieren, um den Dateipfad, die Dateinamenerweiterung und die URI-Informationen zum Dokumentursprung abzurufen. Sie können dann Ihre eigenen Regeln anwenden, um Aktionen wie die folgenden auszuführen:

  • Lassen Sie das Speichern der Datei zu, ohne eine Standardmäßige Sicherheitswarnungsbenutzeroberfläche zur Dateityprichtlinie anzuzeigen.
  • Abbrechen des Speicherns.
  • Erstellen Sie eine eigene Benutzeroberfläche, um Laufzeitrichtlinien für Dateitypen zu verwalten.

Webbenachrichtigungsverarbeitung

Webbenachrichtigungs-APIs unterstützen nicht persistente Benachrichtigungen. Das NotificationReceived -Ereignis für CoreWebView2 steuert die Webbenachrichtigungsverarbeitung 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 Standardberechtigungs-Ui durch eine eigene Benutzeroberfläche ersetzen.

Kontextmenüs

Das WebView2-Steuerelement stellt ein Standardkontextmenü (Rechtsklickmenü) bereit, das Sie anpassen oder deaktivieren können, und 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.

Fluent-Overlay-Bildlaufleisten

Stilisiert Bildlaufleisten im Microsoft Fluent-Design und überlagert die Bildlaufleisten über den Webinhalt. Dieses adaptive Bildlaufleistendesign wird an verschiedene Geräte und Fenstergrößen angepasst.

Um mit Fluent-Überlagerungs-Scrollleisten zu experimentieren, wechseln Sie in Microsoft Edge zu edge://flags , und geben Sie dann Fluent-Overlay-Scrollleisten ein.

Siehe auch:

Benutzer-Agent

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

Siehe auch:

Automatisches Ausfüllen

Ihre App kann unabhängig steuern, ob die Funktion zum automatischen Ausfüllen des Browsers für allgemeine Informationen oder kennwörter aktiviert ist.

Audio

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

Treffertests von Mausklicks in Regionen

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

Navigation mit Wischgesten

Durch das Hosten des WebView2-Steuerelements kann Ihre App die Wischgestennavigation auf Geräten mit Toucheingabe aktivieren oder deaktivieren. Diese Geste ermöglicht Endbenutzern Folgendes:

  • Wischen Sie nach links/rechts (horizontal wischen), um zur vorherigen oder nächsten Seite im Navigationsverlauf zu navigieren.
  • Ziehen Sie zum Aktualisieren der aktuellen Seite (vertikal wischen).

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

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

ICoreWebView2AcceleratorKeyPressedEventArgs verfügt über eine IsBrowserAcceleratorKeyEnabled -Eigenschaft, mit der Sie steuern können, ob der Browser Zugriffstasten (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 SYMBOLLEISTE des PDF-Viewers 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 Browserbenutzeroberfläche gilt (z. B. Kontextmenüs und Dialoge), und legt den HTTP-Header fest, 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 JavaScript-APIs festzulegen, die davon abhängen, z Intl.DateTimeFormat(). B. , was sich auf die Zeichenfolgenformatierung in Zeit-/Datumsformaten auswirkt.

Neues Fenster

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

Fenster schließen

WebView2 bietet Funktionen zum Verarbeiten 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 bei Änderungen benachrichtigt werden.

Sicherheit und Datenschutz

Nachverfolgungsschutz

Die Nachverfolgungsprävention ermöglicht es der Host-App, den Grad der Nachverfolgungsprävention des WebView2-Steuerelements zu 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 allen Benutzern mitteilen, dass Ihre Software Microsoft Defender SmartScreen enthält, und die Benutzerinformationen sammeln und an Microsoft senden, wie in den Microsoft-Datenschutzbestimmungen und in SmartScreen im Microsoft Edge-Datenschutz whitepaper offengelegt.

Siehe auch:

Benutzerdefinierte Absturzberichte

Wenn ein WebView2-Prozess abstürzt, werden mindestens eine Minidump-Datei erstellt und zur Diagnose an Microsoft gesendet. Verwenden Sie diese API, um die Absturzberichterstattung anzupassen, wenn Diagnose ausgeführt und Analysen ausgeführt werden.

  • Um zu verhindern, dass Absturzabbilder an Microsoft gesendet werden, legen Sie die IsCustomCrashReportingEnabled -Eigenschaft auf fest false.
  • Verwenden Sie die CrashDumpFolderPath -Eigenschaft, um Absturzabbilder zu finden und anpassungen daran vorzunehmen.

Siehe auch:

Browsererweiterungen

Ihre App kann ein WebView2-Steuerelement einbetten, das Browsererweiterungen (Add-Ons) verwendet. Eine Microsoft Edge-Erweiterung ist eine kleine App, die Entwickler verwenden, um Features von Microsoft Edge hinzuzufügen oder zu ändern, um die Browsererfahrung eines Benutzers zu verbessern.

Siehe auch:

Prozessmanagement

Rufen Sie Informationen zum Ausführen von WebView2-Prozessen, zum Beenden von Prozessen und fehlgeschlagenen Prozessen ab, damit Ihre App entsprechende Maßnahmen ergreifen kann.

Unterabschnitte unten:

Frameprozessinformationen

Die Frameprozessinformations-API einschließlich GetProcessExtendedInfosstellt eine Momentaufnahme Sammlung aller Frames bereit, 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 verbraucht.

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

Unterabschnitte unten:

Verwalten von Inhalten, die in WebView2 geladen wurden

Diese APIs laden, beenden das Laden und laden Inhalte in WebView2 neu. Der geladene Inhalt kann wie folgt sein:

  • Inhalt aus einer URL.
  • Eine HTML-Zeichenfolge.
  • Lokale Inhalte über virtuellen Hostnamen zu lokalen Ordnern.
  • Inhalt aus einer konstruierten Netzwerkanforderung.

Siehe auch:

Die Verlaufsmethoden ermöglichen die Rückwärts- und Vorwärtsnavigation in WebView2, und die Verlaufsereignisse bieten Informationen zu den Änderungen im Verlauf und in der aktuellen Quelle von WebView2.

NavigationKind ruft die Navigationsart jeder Navigation ab, z. B. Zurück/Vorwärts, Neu laden oder navigation zu einem neuen Dokument.

Unerwünschte Navigation blockieren

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 Zustand 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 zu überschreiben. Das WebResourceResponseReceived -Ereignis ermöglicht es der App, die an gesendete Anforderung und die vom Netzwerk empfangene Antwort zu überwachen.

Siehe auch:

Registrierung eines benutzerdefinierten Schemas

Ermöglicht CustomSchemeRegistration 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. Diese API ermöglicht Folgendes:

  • Zeigen Sie dem Benutzer auf Wunsch eine Benutzeroberfläche an.
  • Ersetzen Sie das Standarddialogfeld für das Clientzertifikat.
  • Fragen Sie die Zertifikate programmgesteuert ab.
  • Wählen Sie ein Zertifikat aus der Liste aus, um auf den Server zu antworten, 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 zum TLS-Fehler aufzufordern, 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 haben Sie folgende Möglichkeiten:

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

Siehe auch:

Authentifizierung

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

Siehe auch:

Rendern von WebView2 in Nicht-Framework-Apps

Verwenden Sie diese APIs, um das WebView2-Renderingsystem einzurichten, wenn Ihre Host-App kein Benutzeroberflächenframework verwendet. Dieses Renderingsetup steuert, wie WebView2 die Ausgabe in Ihrer Host-App rendert und wie WebView2 Eingaben, Fokus und Barrierefreiheit verarbeitet.

Wann diese APIs verwendet werden sollen

  • Benutzeroberflächenframework : Wenn Sie ein Benutzeroberflächenframework für Ihre App verwenden, sollten Sie das webView2-Element verwenden, das von diesem Benutzeroberflächenframework bereitgestellt wird, anstatt diese APIs zu verwenden.

  • Kein Benutzeroberflächenframework und keine Komposition : Wenn Sie kein Benutzeroberflächenframework für Ihre App verwenden (z. B. wenn Sie reines Win32 direkt verwenden), oder wenn Ihr Benutzeroberflächenframework über kein WebView2-Element verfügt, müssen Sie es erstellen CoreWebView2Controller und in Ihrer App rendern, indem Sie diese APIs in diesem Abschnitt verwenden.

  • Kein Benutzeroberflächenframework und Verwenden von Composition : Wenn Ihre App-Benutzeroberfläche mit DirectComposition oder Windows.UI.Composition erstellt wurde, sollten Sie anstelle dieser APIs verwenden CoreWebView2CompositionController . Weitere Informationen finden Sie weiter unten unter Rendern von WebView2 mit Composition.

Unterabschnitte unten:

Dimensionierung, Positionierung und Sichtbarkeit

CoreWebView2Controller nimmt ein übergeordnetes HWND. Die Bounds Eigenschaft größe und positioniert webView2 relativ zum übergeordneten HWND. Die Sichtbarkeit von WebView2 kann mithilfe von 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 durch Drücken von STRG vergrößert, während das Mausrad gedreht wird.

Rasterungsskala

Die RasterizationScale-API skaliert die gesamte WebView2-Benutzeroberfläche, einschließlich Kontextmenüs, QuickInfos und Popups. Die App kann festlegen, ob WebView2 Überwachungsskalierungsänderungen erkennen und die RasterizationScale automatisch aktualisieren soll. BoundsMode wird verwendet, um zu konfigurieren, ob die Bounds-Eigenschaft als unformatierte Pixel oder DIPs interpretiert wird (die von RasterizationScaleskaliert werden müssen).

Fokus und Tabulatoren

Das WebView2-Steuerelement löst Ereignisse aus, um die App darüber zu informieren, wenn das Steuerelement den Fokus erhält oder den Fokus verliert. Für 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ückzunehmen.

Übergeordnetes Fenster

WebView2 kann mit einem anderen übergeordneten Fensterhandle (HWND) analysiert 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 Browsertastentasten deaktivieren.

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

Standardhintergrundfarbe

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

Rendern von WebView2 mithilfe von Composition

Verwenden Sie CoreWebView2Environment für kompositionsbasiertes WebView2-Rendering, um eine CoreWebView2CompositionControllerzu erstellen. CoreWebView2CompositionController stellt die gleichen APIs wie CoreWebView2Controllerbereit, enthält aber auch APIs für kompositionsbasiertes Rendering.

Unterabschnitte unten:

Herstellen einer Verbindung mit der visuellen Struktur

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

Weiterleiten von Eingaben

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

Ziehen und Ablegen

Das Ziehen von einem WebView2-Steuerelement in eine andere Anwendung wird standardmäßig unterstützt. Das Ziehen zu einem WebView2-Steuerelement erfordert jedoch, dass die Host-App das Ereignis an das WebView2-Steuerelement weiterleiten muss, wenn die Host-App ein IDropTarget Ereignis vom System empfängt. Das Ziehen in ein WebView2-Steuerelement umfasst Drag-and-Drop-Vorgänge, die sich vollständig in einem WebView2-Steuerelement 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 stellt eine API bereit, mit der der WebView2-Inhalt im Vergleich zu anderen Elementen in der Anwendung besser positioniert werden kann.

Nicht zutreffend.

Umgebungsoptionen

Unterabschnitte unten:

Benutzerdaten

Verwalten Sie den Benutzerdatenordner (User Data Folder, UDF), bei dem es sich um einen Ordner auf dem Computer des Benutzers handelt. Die UDF 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.

Unterabschnitte unten:

Siehe auch:

Löschen von Browserdaten:

Mehrere Profile

Verwalten mehrerer Profile in einem einzelnen Benutzerdatenordner.

Siehe auch:

Erstellen Sie ein Optionsobjekt, das ein Profil definiert:

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

Zugreifen auf das Profil und Bearbeiten des Profils:

Löschen eines Profils

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

Siehe auch:

Laufzeitauswahl

Die Laufzeitauswahl unterstützt Vorabversionentests 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 Debuggen

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

Unterabschnitte unten:

Speicherauslastungsziel

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

Chrome DevTools-Protokoll (CDP)

Das Chrome DevTools-Protokoll (CDP) bietet APIs zum Instrumentieren, Überprüfen, Debuggen und Profilieren Chromium-basierten Browsern. 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:

Offen:

Rufen:

Empfänger:

Siehe auch