Ü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 CoreWebView2Environment Klassen , CoreWebView2Controller und 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 CoreWebView2CompositionController zu erstellen.
CoreWebView2CompositionController stellt die gleichen APIs wie CoreWebView2Controller bereit, 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 CoreWebView2Environment
Klassen , CoreWebView2Controller
und 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 dieserCoreWebView2Environment
Klasse erstellen Sie Paare vonCoreWebView2Controller
- undCoreWebView2
-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:
- Interoperabilität von nativem und webseitigem Code
- Aufrufen von webseitigem Code aus nativem Code
- Aufrufen von systemeigenem Code aus webseitigem Code
- Aufrufen von systemeigenem WinRT-Code aus webseitigem Code
-
JavaScript-APIs in WebView2 für
window.chrome.webview
JavaScript-APIs
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.
-
CoreWebView2
Klasse: -
CoreWebView2Settings
Klasse:
Skriptausführung
Ermöglicht der Host-App das Hinzufügen von JavaScript-Code im Webinhalt innerhalb des WebView2-Steuerelements.
-
CoreWebView2
Klasse: - CoreWebView2ExecuteScriptResult-Klasse
-
CoreWebView2Frame
Klasse: - CoreWebView2ScriptException-Klasse
-
CoreWebView2Settings
Klasse:
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 FileSystemHandle
und CoreWebView2File
das DOM File
dar. Weitere Informationen finden Sie auch chrome.webview.postMessageWithAdditionalObjects
in der JavaScript-Referenz.
CoreWebView2
Klasse:CoreWebView2Frame
Klasse:CoreWebView2Settings
Klasse:CoreWebView2Environment
Klasse:CoreWebView2FileSystemHandle
Klasse:CoreWebView2FileSystemHandleKind Enum
File
Directory
CoreWebView2FileSystemHandlePermission-Enumeration
ReadOnly
ReadWrite
Skriptdialoge
Beim Hosten von WebView2 kann Ihre App verschiedene JavaScript-Dialoge verwalten, um sie zu unterdrücken oder durch benutzerdefinierte Dialoge zu ersetzen.
-
CoreWebView2
Klasse: - CoreWebView2ScriptDialogOpeningEventArgs-Klasse
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:
-
CoreWebView2
Klasse: -
CoreWebView2Environment
Klasse: -
CoreWebView2Frame
Klasse: - CoreWebView2SharedBuffer-Klasse
-
CoreWebView2SharedBufferAccess-Enumeration
ReadOnly
ReadWrite
Browserfeatures
Das WebView2-Steuerelement bietet Ihrer App Zugriff auf viele Browserfeatures. Sie können diese Browserfeatures ändern und sie aktivieren oder deaktivieren.
Unterabschnitte unten:
- Cookies
- Bildaufnahme
- Downloads
- Speichern unter
- Webbenachrichtigungsverarbeitung
- Berechtigungen
- Kontextmenüs
- Statusleiste
- Fluent-Overlay-Bildlaufleisten
- Benutzer-Agent
- Automatisches Ausfüllen
- Audio
- Treffertests von Mausklicks in Regionen
- Navigation mit Wischgesten
- Aktivieren oder Deaktivieren des Browsers, der auf Zugriffstasten (Tastenkombinationen) reagiert
- Vollbild
- PDF-Symbolleiste
- Design
- Sprache
- Neues Fenster
- Fenster schließen
- Dokumenttitel
- Favicon
- Sicherheit und Datenschutz
- Browsererweiterungen
Sie können eine Webseite in einem Drucker, einer PDF-Datei oder einem PDF-Stream drucken, indem Sie benutzerdefinierte Druckeinstellungen konfigurieren.
Siehe auch:
-
CoreWebView2
Klasse: -
CoreWebView2Environment
Klasse: - CoreWebView2PrintSettings-Klasse
- CoreWebView2PrintDialogKind Enum
- CoreWebView2PrintStatus-Enumeration
Cookies
Sie können Cookies in WebView2 verwenden, um Benutzersitzungen zu verwalten, Benutzerpersonalisierungseinstellungen zu speichern und das Benutzerverhalten nachzuverfolgen.
Siehe auch:
-
CoreWebView2
Klasse: - CoreWebView2Cookie-Klasse
- CoreWebView2CookieManager-Klasse
-
CoreWebView2Profile
Klasse:
Bildaufnahme
Durch das Hosten von WebView2 kann Ihre App Screenshots erfassen und angeben, welches Format zum Speichern des Bilds verwendet werden soll.
-
CoreWebView2
Klasse:
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:
-
CoreWebView2
Klasse:
Standarderfahrung ändern:
-
CoreWebView2
Klasse: -
CoreWebView2Profile
Klasse:
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.
CoreWebView2
Klasse:-
Complete
Default
HtmlOnly
SingleFile
CoreWebView2SaveAsUIResult-Enumeration
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs-Klasse
- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.Cancel-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.Kind-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog-Eigenschaft
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral-Methode
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.
CoreWebView2
Klasse:CoreWebView2SaveFileSecurityCheckStartingEventArgs-Klasse
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave-Eigenschaft
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri-Eigenschaft
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension-Eigenschaft
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath-Eigenschaft
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy-Eigenschaft
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral-Methode
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.
CoreWebView2
Klasse:CoreWebView2Notification-Klasse
- CoreWebView2Notification.BadgeUri-Eigenschaft
- CoreWebView2Notification.Body-Eigenschaft
- CoreWebView2Notification.BodyImageUri-Eigenschaft
- CoreWebView2Notification.Direction-Eigenschaft
- CoreWebView2Notification.IconUri-Eigenschaft
- CoreWebView2Notification.IsSilent-Eigenschaft
- CoreWebView2Notification.Language-Eigenschaft
- CoreWebView2Notification.RequiresInteraction-Eigenschaft
- CoreWebView2Notification.ShouldRenotify-Eigenschaft
- CoreWebView2Notification.Tag-Eigenschaft
- CoreWebView2Notification.Timestamp-Eigenschaft
- CoreWebView2Notification.Title-Eigenschaft
- CoreWebView2Notification.VibrationPattern-Eigenschaft
- CoreWebView2Notification.ReportClicked-Methode
- CoreWebView2Notification.ReportClosed-Methode
- CoreWebView2Notification.ReportShown-Methode
- CoreWebView2Notification.CloseRequested-Ereignis
CoreWebView2TextDirectionKind-Enumeration
Default
LeftToRight
RightToLeft
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.
-
CoreWebView2
Klasse: -
CoreWebView2Frame
Klasse: - CoreWebView2PermissionKind Enum
-
CoreWebView2PermissionRequestedEventArgs
Klasse: - CoreWebView2PermissionSetting-Klasse
-
CoreWebView2Profile
Klasse:
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:
-
CoreWebView2
Klasse: - CoreWebView2ContextMenuItem-Klasse
- CoreWebView2ContextMenuRequestedEventArgs-Klasse
- CoreWebView2ContextMenuTarget-Klasse
-
CoreWebView2Environment
Klasse: -
CoreWebView2Settings
Klasse:
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.
-
CoreWebView2
Klasse: -
CoreWebView2Settings
Klasse:
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:
-
WebView2-Browserflags -
msEdgeFluentOverlayScrollbar
undmsOverlayScrollbarWinStyle
flags.
CoreWebView2EnvironmentOptions
Klasse:CoreWebView2ScrollbarStyle-Enumeration
Default
FluentOverlay
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:
- Erkennen von Windows 11 mithilfe von User-Agent Clienthinweisen
- Überschreiben der Benutzer-Agent-Zeichenfolge
-
CoreWebView2Settings
Klasse:
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.
-
CoreWebView2Settings
Klasse:
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.
CoreWebView2CompositionController
Klasse:CoreWebView2NonClientRegionChangedEventArgs
Klasse:CoreWebView2NonClientRegionKind Enum
Caption
Client
Nowhere
CoreWebView2Settings
Klasse:
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.
-
CoreWebView2Settings
Klasse: -
CoreWebView2EnvironmentOptions
Klasse:
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:
- Tastenkombinationen unten.
-
CoreWebView2AcceleratorKeyPressedEventArgs
Klasse:
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.
-
CoreWebView2Settings
Klasse:
Design
In WebView2 können Sie das Farbdesign als System, hell oder dunkel anpassen.
-
CoreWebView2Profile
Klasse:
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.
-
CoreWebView2EnvironmentOptions
Klasse: -
CoreWebView2ControllerOptions
Klasse:
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()
.
-
CoreWebView2
Klasse: -
CoreWebView2Controller
Klasse:
Dokumenttitel
Ihre App kann erkennen, wenn sich der Titel des aktuellen Dokuments der obersten Ebene geändert hat.
-
CoreWebView2
Klasse:
Favicon
In WebView2 können Sie ein Favicon für eine Website festlegen oder bei Änderungen benachrichtigt werden.
-
CoreWebView2
Klasse:
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.
-
CoreWebView2EnvironmentOptions
Klasse: -
CoreWebView2Profile
Klasse: -
CoreWebView2TrackingPreventionLevel-Enumeration
None
Basic
Balanced
Strict
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:
- SmartScreen in Daten und Datenschutz in WebView2.
-
CoreWebView2Settings
Klasse:
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 festfalse
. - Verwenden Sie die
CrashDumpFolderPath
-Eigenschaft, um Absturzabbilder zu finden und anpassungen daran vorzunehmen.
Siehe auch:
- Benutzerdefinierte Absturzberichte in Daten und Datenschutz in WebView2.
- Minidumpdateien
-
CoreWebView2EnvironmentOptions
Klasse: -
CoreWebView2Environment
Klasse:
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:
CoreWebView2EnvironmentOptions
Klasse:CoreWebView2Profile
Klasse:
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:
-
CoreWebView2
Klasse: - CoreWebView2BrowserProcessExitedEventArgs-Klasse
-
CoreWebView2Environment
Klasse: - CoreWebView2ProcessFailedEventArgs-Klasse
- CoreWebView2ProcessFailedKind-Enumeration
- CoreWebView2ProcessFailedReason-Enumeration
- CoreWebView2ProcessInfo-Klasse
Frameprozessinformationen
Die Frameprozessinformations-API einschließlich GetProcessExtendedInfos
stellt 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.
CoreWebView2Environment
Klasse:CoreWebView2ProcessExtendedInfo
Klasse:CoreWebView2
Klasse:CoreWebView2Frame
Klasse:CoreWebView2FrameInfo
Klasse:
Navigieren zu Seiten und Verwalten von geladenen Inhalten
Ü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
- Navigationsverlauf
- Navigationsart
- Unerwünschte Navigation blockieren
- Navigationsereignisse
- Verwalten von Netzwerkanforderungen in WebView2
- Registrierung eines benutzerdefinierten Schemas
- Clientzertifikate
- Serverzertifikate
- Starten eines externen URI-Schemas
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:
-
CoreWebView2
Klasse:- CoreWebView2.ClearVirtualHostNameToFolderMapping-Methode
- CoreWebView2.Navigate-Methode
- CoreWebView2.NavigateToString-Methode
- CoreWebView2.NavigateWithWebResourceRequest-Methode
- CoreWebView2.Reload-Methode
- CoreWebView2.SetVirtualHostNameToFolderMapping-Methode
- CoreWebView2.Stop-Methode
- CoreWebView2.WebResourceRequested-Ereignis
-
CoreWebView2Settings
Klasse:
Navigationsverlauf
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.
Navigationsart
NavigationKind
ruft die Navigationsart jeder Navigation ab, z. B. Zurück/Vorwärts, Neu laden oder navigation zu einem neuen Dokument.
-
CoreWebView2NavigationStartingEventArgs
Klasse: - CoreWebView2NavigationKind Enum
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.
-
CoreWebView2
Klasse:- CoreWebView2.NavigationStarting-Ereignis
-
CoreWebView2.FrameNavigationStarting-Ereignis – ersetzt; stattdessen verwenden
CoreWebView2Frame.NavigationStarting
-
CoreWebView2Frame
Klasse: - CoreWebView2NavigationStartingEventArgs-Klasse
Navigationsereignisse
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:
-
CoreWebView2
Klasse:- CoreWebView2.ContentLoading-Ereignis
- CoreWebView2.DOMContentLoaded-Ereignis
-
CoreWebView2.FrameNavigationCompleted-Ereignis – ersetzt; stattdessen verwenden
CoreWebView2Frame.NavigationCompleted
. - CoreWebView2.NavigationCompleted-Ereignis
- CoreWebView2ContentLoadingEventArgs-Klasse
- CoreWebView2DOMContentLoadedEventArgs-Klasse
-
CoreWebView2Frame
Klasse: - CoreWebView2NavigationCompletedEventArgs-Klasse
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:
CoreWebView2
Klasse:
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.
- CoreWebView2CustomSchemeRegistration-Klasse
-
CoreWebView2EnvironmentOptions
Klasse:
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.
-
CoreWebView2
Klasse: -
CoreWebView2LaunchingExternalUriSchemeEventArgs-Klasse
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel-Eigenschaft
- CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin-Eigenschaft
- CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated-Eigenschaft
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri-Eigenschaft
- CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral-Methode
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
- Zoomen
- Rasterungsskala
- Fokus und Tabulatoren
- Übergeordnetes Fenster
- Tastenkombinationen
- Standardhintergrundfarbe
-
CoreWebView2Controller
Klasse: -
CoreWebView2Environment
Klasse:
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 IsVisible
umgeschaltet werden.
-
CoreWebView2Controller
Klasse:
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.
-
CoreWebView2Controller
Klasse: -
CoreWebView2Settings
Klasse:
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 RasterizationScale
skaliert 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.
-
CoreWebview2Controller
Klasse:
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.
- CoreWebView2AcceleratorKeyPressedEventArgs-Klasse
-
CoreWebView2Controller
Klasse: -
CoreWebView2Settings
Klasse:
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.
-
CoreWebView2Controller
Klasse:
Rendern von WebView2 mithilfe von Composition
Verwenden Sie CoreWebView2Environment
für kompositionsbasiertes WebView2-Rendering, um eine CoreWebView2CompositionController
zu erstellen.
CoreWebView2CompositionController
stellt die gleichen APIs wie CoreWebView2Controller
bereit, enthält aber auch APIs für kompositionsbasiertes Rendering.
Unterabschnitte unten:
- Herstellen einer Verbindung mit der visuellen Struktur
- Weiterleiten von Eingaben
- Ziehen und Ablegen
- Barrierefreiheit
- CoreWebView2CompositionController-Klasse
-
CoreWebView2Environment
Klasse:
Herstellen einer Verbindung mit der visuellen Struktur
WebView2 kann seine Kompositionsstruktur mit idCompositionVisual, IDCompositionTarget oder Windows::UI::Composition::ContainerVisual
verbinden.
-
CoreWebView2CompositionController
Klasse:
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.
-
CoreWebView2CompositionController
Klasse: -
CoreWebView2Environment
Klasse: - CoreWebView2PointerInfo-Klasse
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
.
-
CoreWebView2CompositionController
Klasse:
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.
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:
-
CoreWebView2Environment
Klasse: -
CoreWebView2EnvironmentOptions
Klasse:
Löschen von Browserdaten:
-
CoreWebView2Profile
Klasse: - CoreWebView2BrowsingDataKinds-Enumeration
Mehrere Profile
Verwalten mehrerer Profile in einem einzelnen Benutzerdatenordner.
Siehe auch:
Erstellen Sie ein Optionsobjekt, das ein Profil definiert:
-
CoreWebView2Environment
Klasse: - CoreWebView2ControllerOptions-Klasse
Erstellen Sie ein WebView2-Steuerelement, das das Profil verwendet:
-
CoreWebView2Environment
Klasse:
Zugreifen auf das Profil und Bearbeiten des Profils:
-
CoreWebView2
Klasse: - CoreWebView2Profile-Klasse
Löschen eines Profils
Ihre App kann Benutzerprofile für ein WebView2-Webbrowsersteuerelement löschen.
Siehe auch:
-
CoreWebView2Profile
Klasse:
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:
- Testen anstehender APIs und Features
- Vorabversionstests mithilfe von Vorschaukanälen
- Selbsthosting durch Bereitstellen von Vorschaukanälen
CoreWebView2EnvironmentOptions
Klasse:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
CoreWebView2ReleaseChannels-Enumeration
None
Stable
Beta
Dev
Canary
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:
-
CoreWebView2Settings
Klasse: -
CoreWebView2
Klasse:
Rufen:
-
CoreWebView2
Klasse:
Empfänger:
Siehe auch
- Einführung in Microsoft Edge WebView2
- WebView2-API-Referenz : API-Referenzlinks für zusätzliche Plattformen und Sprachen, z. B. WinRT/C++ (COM).