Vue d’ensemble des fonctionnalités et API WebView2
L’incorporation du contrôle WebView2 dans votre application permet à votre application d’accéder à diverses méthodes et propriétés fournies par le biais des classes ou interfaces WebView2. WebView2 propose des centaines d’API qui fournissent un vaste ensemble de fonctionnalités, allant de l’amélioration des fonctionnalités de la plateforme native de votre application à la possibilité pour votre application de modifier les expériences de navigateur. Cet article fournit un regroupement de haut niveau des API WebView2 pour vous aider à comprendre les différentes actions que vous pouvez effectuer à l’aide de WebView2.
Vue d’ensemble des domaines de fonctionnalités de niveau supérieur
Lors de l’hébergement du contrôle WebView2, votre application a accès aux fonctionnalités et API suivantes :
Fonctionnalité | Objectif |
---|---|
Classes principales : Environnement, Contrôleur et Cœur | Les CoreWebView2Environment classes , CoreWebView2Controller et CoreWebView2 (ou interfaces équivalentes) fonctionnent ensemble pour que votre application puisse héberger un contrôle de navigateur WebView2 et accéder à ses fonctionnalités de navigateur. Ces grandes classes exposent un large éventail d’API auxquelles votre application hôte peut accéder pour fournir les catégories ci-dessous de fonctionnalités liées au navigateur pour vos utilisateurs. |
Interopérabilité web/native | Incorporer du contenu web dans des applications natives. Communiquez entre le code natif et le code web à l’aide de messages simples, de code JavaScript et d’objets natifs. |
Fonctionnalités du navigateur | Le contrôle WebView2 permet à votre application d’accéder à de nombreuses fonctionnalités de navigateur. Vous pouvez modifier ces fonctionnalités de navigateur et les activer ou les désactiver. |
Gestion des processus | Obtenez des informations sur l’exécution des processus WebView2, les processus de fermeture et les processus ayant échoué, afin que votre application puisse prendre des mesures en conséquence. |
Accéder aux pages et gérer le contenu chargé | Gérer la navigation vers les pages web et gérer le contenu chargé dans les pages web. |
iframes | Incorporez d’autres pages web dans votre propre page web. Détecter quand des pages web incorporées sont créées, détecter quand les pages web incorporées naviguent et éventuellement ignorer les options x-frame. |
Authentification | Votre application peut gérer l’authentification de base à l’aide du contrôle WebView2. L’authentification de base est une approche d’authentification spécifique qui fait partie du protocole HTTP. |
Rendu de WebView2 dans les applications non-framework | Utilisez ces API pour configurer le système de rendu WebView2 si votre application hôte n’utilise pas d’infrastructure d’interface utilisateur. Cette configuration de rendu contrôle la façon dont WebView2 restitue la sortie dans votre application hôte et la façon dont WebView2 gère l’entrée, le focus et l’accessibilité. |
Rendu de WebView2 à l’aide de la composition | Pour le rendu WebView2 basé sur la composition, utilisez CoreWebView2Environment pour créer un CoreWebView2CompositionController .
CoreWebView2CompositionController fournit les mêmes API que CoreWebView2Controller , mais inclut également des API pour le rendu basé sur la composition. |
Options d’environnement |
Données utilisateur : gérez le dossier de données utilisateur (UDF), qui est un dossier sur l’ordinateur de l’utilisateur. La fonction définie par l’utilisateur contient des données relatives à l’application hôte et à WebView2. Les applications WebView2 utilisent des dossiers de données utilisateur pour stocker les données du navigateur, telles que les cookies, les autorisations et les ressources mises en cache. Gérer plusieurs profils sous une seule fonction définie par l’utilisateur. La sélection du runtime prend en charge les tests de préversion et l’auto-hébergement. Vous pouvez spécifier un ordre de recherche pour les canaux d’aperçu du navigateur et spécifier les canaux d’aperçu de navigateur recherchés. |
Performances et débogage | Analysez et déboguez les performances, gérez les événements liés aux performances et gérez l’utilisation de la mémoire pour augmenter la réactivité de votre application. |
Chrome DevTools Protocol (CDP) | Instrumenter, inspecter, déboguer et profiler des navigateurs basés sur Chromium. Le protocole CDP (Chrome DevTools Protocol) est la base de Microsoft Edge DevTools. Utilisez le protocole Chrome DevTools pour les fonctionnalités qui ne sont pas implémentées dans la plateforme WebView2. |
Cette page répertorie uniquement les API qui se trouvent dans les Kits de développement logiciel (SDK) release ; il ne répertorie pas les API expérimentales ou les API stables qui ne sont pas encore disponibles dans les KITS de développement logiciel (SDK) release. Pour obtenir une liste complète des API, y compris les API expérimentales, consultez Notes de publication du Kit de développement logiciel (SDK) WebView2.
Classes principales : Environnement, Contrôleur et Cœur
Les CoreWebView2Environment
classes , CoreWebView2Controller
et CoreWebView2
(ou interfaces équivalentes) fonctionnent ensemble pour que votre application puisse héberger un contrôle de navigateur WebView2 et accéder à ses fonctionnalités de navigateur. Ces trois grandes classes exposent un large éventail d’API auxquelles votre application hôte peut accéder pour fournir de nombreuses catégories de fonctionnalités liées au navigateur pour vos utilisateurs.
- La
CoreWebView2Environment
classe représente un groupe de contrôles WebView2 qui partagent le même processus de navigateur WebView2, le même dossier de données utilisateur et les mêmes processus de renderer. À partir de cetteCoreWebView2Environment
classe, vous créez des paires d’instancesCoreWebView2Controller
etCoreWebView2
. - La
CoreWebView2Controller
classe est responsable des fonctionnalités liées à l’hébergement, telles que le focus de fenêtre, la visibilité, la taille et l’entrée, où votre application héberge le contrôle WebView2. - La
CoreWebView2
classe est destinée aux parties spécifiques au web du contrôle WebView2, notamment la mise en réseau, la navigation, le script, l’analyse et le rendu HTML.
Voir aussi :
Interopérabilité web/native
Le contrôle Microsoft Edge WebView2 vous permet d’incorporer du contenu web dans des applications natives. Vous pouvez communiquer entre le code natif et le code web à l’aide de messages simples, de code JavaScript et d’objets natifs. Voici les API main pour la communication entre le code web et le code natif.
Sous-sections ci-dessous :
- Partage d’objets hôte/web
- Exécution du script
- Messagerie web
- Boîtes de dialogue de script
- Mémoire tampon partagée
Cas d’usage courants pour l’interopérabilité web/native :
- Mettez à jour le titre de la fenêtre hôte native après avoir accédé à un autre site web.
- Envoyer un objet caméra natif et utiliser ses méthodes à partir d’une application web.
- Exécutez un fichier JavaScript dédié côté web d’une application.
Voir aussi :
- Interopérabilité du code côté natif et côté web
- Appeler du code côté web à partir d’un code natif
- Appeler du code natif à partir d’un code côté web
- Appeler du code WinRT côté natif à partir d’un code côté web
-
API JavaScript dans WebView2 pour
window.chrome.webview
les API JavaScript
Partage d’objets hôte/web
WebView2 permet aux objets définis dans le code natif d’être passés au code côté web de votre application. Les objets hôtes sont tous les objets définis dans le code natif que vous choisissez de passer au code côté web de votre application.
Les objets hôtes peuvent être projetés dans JavaScript, de sorte que vous pouvez appeler des méthodes d’objet natives (ou d’autres API) à partir du code côté web de votre application. Par exemple, votre application peut appeler ces API à la suite d’une interaction utilisateur sur le web de votre application. De cette façon, vous n’avez pas besoin de ré-implémenter les API de vos objets natifs, telles que les méthodes ou les propriétés, dans votre code côté web.
-
CoreWebView2
Classe: -
CoreWebView2Settings
Classe:
Exécution du script
Permet à l’application hôte d’ajouter du code JavaScript dans le contenu web dans le contrôle WebView2.
-
CoreWebView2
Classe: - CoreWebView2ExecuteScriptResult, classe
-
CoreWebView2Frame
Classe: - CoreWebView2ScriptException, classe
-
CoreWebView2Settings
Classe:
Messagerie web
Votre application peut envoyer des messages au contenu web qui se trouve dans le contrôle WebView2 et recevoir des messages à partir de ce contenu web. Les messages sont envoyés sous forme de chaînes ou d’objets JSON.
Vous pouvez éventuellement publier et recevoir des objets DOM avec votre message, via le additionalObjects
paramètre ( PostWebMessageAsJson
.NET, WinRT) ou via PostWebMessageAsJsonWithAdditionalObjects
(Win32). La classe WebView2 CoreWebView2FileSystemHandle
représente le DOM FileSystemHandle
et CoreWebView2File
le DOM File
. Voir aussi chrome.webview.postMessageWithAdditionalObjects
dans la référence JavaScript.
CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2Settings
Classe:CoreWebView2Environment
Classe:CoreWebView2FileSystemHandle
Classe:CoreWebView2FileSystemHandleKind Enum
File
Directory
Énumération CoreWebView2FileSystemHandlePermission
ReadOnly
ReadWrite
Boîtes de dialogue de script
Lors de l’hébergement de WebView2, votre application peut gérer différents dialogues JavaScript, les supprimer ou les remplacer par des dialogues personnalisés.
Mémoire tampon partagée
L’API SharedBuffer prend en charge le partage de mémoires tampons entre le processus d’application hôte WebView2 et le processus de renderer WebView2, en fonction de la mémoire partagée du système d’exploitation.
Voir aussi :
-
CoreWebView2
Classe: -
CoreWebView2Environment
Classe: -
CoreWebView2Frame
Classe: - CoreWebView2SharedBuffer, classe
-
CoreWebView2SharedBufferAccess Énumération
ReadOnly
ReadWrite
Fonctionnalités du navigateur
Le contrôle WebView2 permet à votre application d’accéder à de nombreuses fonctionnalités de navigateur. Vous pouvez modifier ces fonctionnalités de navigateur et les activer ou les désactiver.
Sous-sections ci-dessous :
- Impression
- Cookies
- Capture d’image
- Téléchargements
- Enregistrer sous
- Gestion des notifications web
- Autorisations
- Menus contextuels
- Barre d’état
- Barres de défilement de superposition Fluent
- Agent utilisateur
- Remplissage automatique
- Audio
- Test d’accès aux clics de souris dans les régions
- Navigation par mouvement de balayage
- Activer ou désactiver le navigateur qui répond aux touches d’accélérateur (touches de raccourci)
- Plein écran
- Barre d’outils PDF
- Thèmes
- Language
- Nouvelle fenêtre
- Fermer la fenêtre
- Titre du document
- Favicon
- Sécurité et confidentialité
- Extensions de navigateur
Impression
Vous pouvez imprimer une page web sur une imprimante, un fichier PDF ou un flux PDF en configurant des paramètres d’impression personnalisés.
Voir aussi :
-
CoreWebView2
Classe: -
CoreWebView2Environment
Classe: - CoreWebView2PrintSettings, classe
- CoreWebView2PrintDialogKind Enum
- Énumération CoreWebView2PrintStatus
Cookies
Vous pouvez utiliser des cookies dans WebView2 pour gérer les sessions utilisateur, stocker les préférences de personnalisation des utilisateurs et suivre le comportement des utilisateurs.
Voir aussi :
-
CoreWebView2
Classe: - CoreWebView2Cookie, classe
- CoreWebView2CookieManager, classe
-
CoreWebView2Profile
Classe:
Capture d’image
En hébergeant WebView2, votre application peut capturer des captures d’écran et indiquer le format à utiliser pour enregistrer l’image.
-
CoreWebView2
Classe:
Contrôler si l’interface utilisateur de capture d’écran est affichée
L’événement ScreenCaptureStarting
est déclenché chaque fois que l’iframe WebView2 et/ou qui correspond au CoreWebView2Frame
(ou à l’un de ses iframes descendants) demande l’autorisation d’utiliser l’API Capture d’écran avant l’affichage de l’interface utilisateur. L’application peut ensuite bloquer l’affichage de l’interface utilisateur ou autoriser l’affichage de l’interface utilisateur.
CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2NonClientRegionKind
Énumération :
Téléchargements
Votre application peut gérer l’expérience de téléchargement dans WebView2. Votre application peut :
- Autorisez ou bloquez les téléchargements en fonction de différentes métadonnées.
- Modifier l’emplacement de téléchargement.
- Configurez une interface utilisateur de téléchargement personnalisée.
- Personnalisez l’interface utilisateur par défaut.
Généralités:
-
CoreWebView2
Classe:
Modifier l’expérience par défaut :
-
CoreWebView2
Classe: -
CoreWebView2Profile
Classe:
Expérience de téléchargement personnalisée :
Enregistrer sous
Les API Enregistrer sous vous permettent d’effectuer par programmation l’opération Enregistrer sous . Vous pouvez utiliser ces API pour bloquer la boîte de dialogue Enregistrer sous par défaut, puis enregistrer en mode silencieux ou créer votre propre interface utilisateur pour Enregistrer sous. Ces API se rapportent uniquement à la boîte de dialogue Enregistrer sous , et non à la boîte de dialogue Télécharger , qui utilise les API De téléchargement.
CoreWebView2
Classe:-
Complete
Default
HtmlOnly
SingleFile
Énumération CoreWebView2SaveAsUIResult
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs, classe
- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace, propriété
- CoreWebView2SaveAsUIShowingEventArgs.Cancel, propriété
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType, propriété
- CoreWebView2SaveAsUIShowingEventArgs.Kind, propriété
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath, propriété
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog, propriété
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral, méthode
Configurer l’avertissement de sécurité lors de l’enregistrement d’un fichier
En écoutant l’événement SaveFileSecurityCheckStarting
, votre application peut inscrire un gestionnaire sur cet événement pour obtenir le chemin d’accès au fichier, l’extension de nom de fichier et les informations de l’URI d’origine du document. Vous pouvez ensuite appliquer vos propres règles pour effectuer des actions telles que les suivantes :
- Autorisez l’enregistrement du fichier sans présenter d’interface utilisateur d’avertissement de sécurité par défaut concernant la stratégie de type de fichier.
- Annulez l’enregistrement.
- Créez votre propre interface utilisateur pour gérer les stratégies de type de fichier runtime.
CoreWebView2
Classe:Classe CoreWebView2SaveFileSecurityCheckStartingEventArgs
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave, propriété
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri, propriété
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension, propriété
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath, propriété
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy, propriété
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral, méthode
Gestion des notifications web
Les API de notification web prennent en charge les notifications non persistantes. L’événement NotificationReceived
pour CoreWebView2
contrôle la gestion des notifications web, ce qui permet la personnalisation ou la suppression par l’application hôte. Les notifications non gérées sont par défaut l’interface utilisateur de WebView2.
CoreWebView2
Classe:CoreWebView2Notification, classe
- CoreWebView2Notification.BadgeUri, propriété
- CoreWebView2Notification.Body, propriété
- CoreWebView2Notification.BodyImageUri, propriété
- CoreWebView2Notification.Direction, propriété
- CoreWebView2Notification.IconUri, propriété
- CoreWebView2Notification.Issilent, propriété
- CoreWebView2Notification.Language, propriété
- CoreWebView2Notification.RequiresInteraction, propriété
- CoreWebView2Notification.ShouldRenotify, propriété
- CoreWebView2Notification.Tag, propriété
- CoreWebView2Notification.Timestamp, propriété
- CoreWebView2Notification.Title, propriété
- CoreWebView2Notification.VibrationPattern, propriété
- CoreWebView2Notification.ReportClicked, méthode
- CoreWebView2Notification.ReportClosed, méthode
- CoreWebView2Notification.ReportShown, méthode
- Événement CoreWebView2Notification.CloseRequested
CoreWebView2TextDirectionKind Enum
Default
LeftToRight
RightToLeft
Autorisations
Différentes pages web peuvent vous demander des autorisations pour accéder à certaines ressources privilégiées, telles que le capteur de géolocalisation, la caméra et le microphone. Votre application hôte peut répondre par programmation aux demandes d’autorisations et peut remplacer l’interface utilisateur des autorisations par défaut par sa propre interface utilisateur.
-
CoreWebView2
Classe: -
CoreWebView2Frame
Classe: - CoreWebView2PermissionKind Enum
-
CoreWebView2PermissionRequestedEventArgs
Classe: - CoreWebView2PermissionSetting, classe
-
CoreWebView2Profile
Classe:
Menus contextuels
Le contrôle WebView2 fournit un menu contextuel par défaut (menu contextuel) que vous pouvez personnaliser ou désactiver, et vous pouvez également créer votre propre menu contextuel.
Voir aussi :
-
CoreWebView2
Classe: - CoreWebView2ContextMenuItem, classe
- CoreWebView2ContextMenuRequestedEventArgs, classe
- CoreWebView2ContextMenuTarget, classe
-
CoreWebView2Environment
Classe: -
CoreWebView2Settings
Classe:
Barre d’état
Une barre de status se trouve en bas à gauche de la page et affiche l’état de la page web affichée. Dans WebView2, vous pouvez activer/désactiver la barre d’status, obtenir le texte dans la barre de status et déterminer quand le texte de la barre de status a changé.
-
CoreWebView2
Classe: -
CoreWebView2Settings
Classe:
Barres de défilement de superposition Fluent
Stylise les barres de défilement avec la conception Microsoft Fluent et rend les barres de défilement superposées sur le contenu web. Cette conception de barre de défilement adaptative s’ajuste aux différents appareils et tailles de fenêtre.
Pour tester les barres de défilement de superposition Fluent, dans Microsoft Edge, accédez à edge://flags
, puis entrez Barres de défilement de superposition Fluent.
Voir aussi :
- Indicateurs -
msEdgeFluentOverlayScrollbar
de navigateur WebView2 etmsOverlayScrollbarWinStyle
indicateurs.
CoreWebView2EnvironmentOptions
Classe:CoreWebView2ScrollbarStyle Enum
Default
FluentOverlay
Agent utilisateur
L’agent utilisateur est une chaîne qui représente l’identité du programme pour le compte de l’utilisateur, par exemple le nom du navigateur. Dans WebView2, vous pouvez définir l’agent utilisateur.
Voir aussi :
- Détecter Windows 11 à l’aide d’indicateurs de client User-Agent
- Remplacer la chaîne de l’agent utilisateur
-
CoreWebView2Settings
Classe:
Remplissage automatique
Votre application peut contrôler indépendamment si la fonctionnalité de remplissage automatique du navigateur est activée pour les informations générales ou pour les mots de passe.
-
CoreWebView2Settings
Classe:
L’audio
Votre application peut désactiver et réactiver tout le son, et savoir quand l’audio est en cours de lecture.
Test d’accès aux clics de souris dans les régions
Fournit les résultats des tests de positionnement sur les régions qu’un WebView2 contient. Utile pour les applications hébergées visuellement qui souhaitent gérer les événements de souris sur la zone non cliente de la fenêtre WebView2.
CoreWebView2CompositionController
Classe:CoreWebView2NonClientRegionChangedEventArgs
Classe:CoreWebView2NonClientRegionKind Enum
Caption
Client
Nowhere
CoreWebView2Settings
Classe:
Navigation par mouvement de balayage
En hébergeant le contrôle WebView2, votre application peut activer ou désactiver la navigation par mouvement de balayage sur les appareils compatibles avec l’entrée tactile. Ce mouvement permet aux utilisateurs finaux d’effectuer les événements suivants :
- Balayez vers la gauche/droite (balayez horizontalement) pour accéder à la page précédente ou suivante dans l’historique de navigation.
- Tirer pour actualiser (balayer verticalement) la page active.
Cette fonctionnalité est actuellement désactivée par défaut dans le navigateur. Pour activer cette fonctionnalité dans WebView2, définissez la AdditionalBrowserArguments
propriété en spécifiant le --pull-to-refresh
commutateur.
-
CoreWebView2Settings
Classe: -
CoreWebView2EnvironmentOptions
Classe:
Activer ou désactiver le navigateur qui répond aux touches d’accélérateur (touches de raccourci)
ICoreWebView2AcceleratorKeyPressedEventArgs
a une IsBrowserAcceleratorKeyEnabled
propriété pour vous permettre de contrôler si le navigateur gère les touches d’accélérateur (touches de raccourci), telles que Ctrl+P ou F3.
Voir aussi :
- Raccourcis clavier, ci-dessous.
-
CoreWebView2AcceleratorKeyPressedEventArgs
Classe:
Plein écran
Dans WebView2, vous pouvez savoir quand un élément HTML entre en mode plein écran ou en sort.
Barre d’outils PDF
Dans la visionneuse PDF du navigateur, il y a une barre d’outils spécifique au fichier PDF en haut. Dans WebView2, vous pouvez masquer certains éléments dans la barre d’outils de la visionneuse PDF.
-
CoreWebView2Settings
Classe:
Thèmes
Dans WebView2, vous pouvez personnaliser le thème de couleur en tant que système, clair ou sombre.
-
CoreWebView2Profile
Classe:
Langue
La Language
propriété définit la langue d’affichage par défaut pour WebView2 qui s’applique à l’interface utilisateur du navigateur (par exemple, les menus contextuels et les boîtes de dialogue), ainsi que la définition de l’en-tête accept-language
HTTP que WebView2 envoie aux sites web.
La ScriptLocale
propriété permet à l’application hôte de définir les paramètres régionaux par défaut pour toutes les Intl
API JavaScript et autres API JavaScript qui en dépendent, telles que Intl.DateTimeFormat()
, ce qui affecte la mise en forme des chaînes dans les formats d’heure/date.
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2ControllerOptions
Classe:
Nouvelle fenêtre
WebView2 fournit des fonctionnalités pour gérer la fonction window.open()
JavaScript .
Fermer la fenêtre
WebView2 fournit des fonctionnalités pour gérer la fonction window.close()
JavaScript .
-
CoreWebView2
Classe: -
CoreWebView2Controller
Classe:
Titre du document
Votre application peut détecter quand le titre du document de niveau supérieur actuel a changé.
-
CoreWebView2
Classe:
Favicon
Dans WebView2, vous pouvez définir un Favicon pour un site web ou recevoir une notification en cas de modification.
-
CoreWebView2
Classe:
Sécurité et confidentialité
Prévention du suivi
La prévention du suivi permet à l’application hôte de contrôler le niveau de prévention du suivi du contrôle WebView2 associé au profil utilisateur.
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2Profile
Classe: -
CoreWebView2TrackingPreventionLevel Enum
None
Basic
Balanced
Strict
SmartScreen
Microsoft Defender SmartScreen (« SmartScreen ») est activé par défaut. La IsReputationCheckingRequired
propriété contrôle si SmartScreen est activé.
Si vous ne désactivez pas SmartScreen, vous devez informer tous les utilisateurs que votre logiciel inclut Microsoft Defender SmartScreen, et qu’il collecte et envoie les informations de l’utilisateur à Microsoft comme indiqué dans la Déclaration de confidentialité Microsoft et dans SmartScreen dans le livre blanc sur la confidentialité de Microsoft Edge.
Voir aussi :
- SmartScreen dans Données et confidentialité dans WebView2.
-
CoreWebView2Settings
Classe:
Rapports d’incident personnalisés
Si un processus WebView2 se bloque, un ou plusieurs fichiers minidump sont créés et envoyés à Microsoft à des fins de diagnostic. Utilisez cette API pour personnaliser les rapports d’incident lors de l’exécution d’diagnostics et de l’analyse.
- Pour empêcher l’envoi de vidages sur incident à Microsoft, définissez la propriété sur
IsCustomCrashReportingEnabled
false
. - Pour localiser les vidages sur incident et les personnaliser, utilisez la
CrashDumpFolderPath
propriété .
Voir aussi :
- Rapports d’incident personnalisés dans Données et confidentialité dans WebView2.
- Minidump Files
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2Environment
Classe:
Extensions de navigateur
Votre application peut incorporer un contrôle WebView2 qui utilise des extensions de navigateur (modules complémentaires). Une extension Microsoft Edge est une petite application que les développeurs utilisent pour ajouter ou modifier des fonctionnalités de Microsoft Edge afin d’améliorer l’expérience de navigation d’un utilisateur.
Voir aussi :
CoreWebView2EnvironmentOptions
Classe:CoreWebView2Profile
Classe:
Gestion des processus
Obtenez des informations sur l’exécution des processus WebView2, les processus de fermeture et les processus ayant échoué, afin que votre application puisse prendre des mesures en conséquence.
Sous-sections ci-dessous :
-
CoreWebView2
Classe: - CoreWebView2BrowserProcessExitedEventArgs, classe
-
CoreWebView2Environment
Classe: - CoreWebView2ProcessFailedEventArgs, classe
- CoreWebView2ProcessFailedKind Enum
- Énumération CoreWebView2ProcessFailedReason
- CoreWebView2ProcessInfo, classe
Informations sur le processus de trame
L’API d’informations sur le processus de trame, y compris GetProcessExtendedInfos
, fournit une instantané collection de toutes les images qui s’exécutent activement dans le processus de renderer associé. Cette API permet à votre application de détecter la partie de WebView2 qui consomme des ressources telles que la mémoire ou l’utilisation du processeur.
CoreWebView2Environment
Classe:CoreWebView2ProcessExtendedInfo
Classe:CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2FrameInfo
Classe:
Accéder aux pages et gérer le contenu chargé
Grâce au contrôle WebView2, votre application peut gérer la navigation vers les pages web et gérer le contenu chargé dans les pages web.
Sous-sections ci-dessous :
- Gérer le contenu chargé dans WebView2
- Historique de navigation
- Type de navigation
- Bloquer la navigation indésirable
- Événements de navigation
- Gérer les demandes réseau dans WebView2
- Inscription de schéma personnalisé
- Certificats clients
- Certificats de serveur
- Lancer un schéma d’URI externe
Gérer le contenu chargé dans WebView2
Ces API chargent, arrêtent le chargement et rechargent le contenu sur WebView2. Le contenu chargé peut être :
- Contenu d’une URL.
- Chaîne html.
- Contenu local via le mappage de nom d’hôte virtuel à dossier local.
- Contenu d’une requête réseau construite.
Voir aussi :
-
CoreWebView2
Classe:- CoreWebView2.ClearVirtualHostNameToFolderMapping, méthode
- CoreWebView2.Navigate, méthode
- CoreWebView2.NavigateToString, méthode
- CoreWebView2.NavigateWithWebResourceRequest, méthode
- CoreWebView2.Reload, méthode
- CoreWebView2.SetVirtualHostNameToFolderMapping, méthode
- CoreWebView2.Stop, méthode
- CoreWebView2.WebResourceRequested, événement
-
CoreWebView2Settings
Classe:
Historique de navigation
Les méthodes d’historique permettent la navigation vers l’arrière et vers l’avant dans WebView2, et les événements d’historique fournissent des informations sur les modifications apportées à l’historique et à la source actuelle de WebView2.
-
CoreWebView2
Classe: - CoreWebView2SourceChangedEventArgs, classe
Type de navigation
NavigationKind
obtient le type de navigation de chaque navigation, par exemple Retour/Avant, Rechargement ou navigation vers un nouveau document.
-
CoreWebView2NavigationStartingEventArgs
Classe: - CoreWebView2NavigationKind Enum
Bloquer la navigation indésirable
L’événement NavigationStarting
permet à l’application d’annuler la navigation vers les URL spécifiées dans WebView2, y compris pour les images.
-
CoreWebView2
Classe:- Événement CoreWebView2.NavigationStarting
-
Événement CoreWebView2.FrameNavigationStarting - remplacé ; utiliser
CoreWebView2Frame.NavigationStarting
à la place
-
CoreWebView2Frame
Classe: - CoreWebView2NavigationStartingEventArgs, classe
Événements de navigation
Avec NavigationStarting
et les autres événements de navigation, l’application peut être informée de l’état de la navigation dans WebView2. Une navigation est le processus de chargement d’une nouvelle URL.
Voir aussi :
-
CoreWebView2
Classe:- Événement CoreWebView2.ContentLoading
- Événement CoreWebView2.DOMContentLoaded
-
Événement CoreWebView2.FrameNavigationCompleted : remplacé ; utilisez
CoreWebView2Frame.NavigationCompleted
à la place. - Événement CoreWebView2.NavigationCompleted
- CoreWebView2ContentLoadingEventArgs, classe
- Classe CoreWebView2DOMContentLoadedEventArgs
-
CoreWebView2Frame
Classe: - CoreWebView2NavigationCompletedEventArgs, classe
Gérer les demandes réseau dans WebView2
L’événement WebResourceRequested
permet à l’application d’intercepter et de remplacer toutes les requêtes réseau dans WebView2. L’événement WebResourceResponseReceived
permet à l’application de surveiller la requête envoyée et la réponse reçue du réseau.
Voir aussi :
CoreWebView2
Classe:
Inscription de schéma personnalisé
Autorise CustomSchemeRegistration
l’inscription de schémas personnalisés dans WebView2 afin que l’application puisse gérer l’événement WebResourceRequested
pour les demandes adressées à ces URL de schéma personnalisé et naviguer dans webView2 vers ces URL.
- CoreWebView2CustomSchemeRegistration, classe
-
CoreWebView2EnvironmentOptions
Classe:
Certificats clients
Dans WebView2, vous pouvez utiliser l’API Certificat client pour sélectionner le certificat client au niveau de l’application. Cette API vous permet d’effectuer les points suivants :
- Afficher une interface utilisateur à l’utilisateur, si vous le souhaitez.
- Remplacez l’invite de dialogue de certificat client par défaut.
- Interrogez les certificats par programmation.
- Sélectionnez un certificat dans la liste pour répondre au serveur, lorsque WebView2 adresse une requête à un serveur HTTP qui a besoin d’un certificat client pour l’authentification HTTP.
Certificats de serveur
Dans WebView2, vous pouvez utiliser l’API de certificat de serveur pour approuver le certificat TLS du serveur au niveau de l’application. De cette façon, votre application hôte peut afficher la page sans demander à l’utilisateur d’indiquer l’erreur TLS, ou votre application hôte peut annuler automatiquement la demande.
Lancer un schéma d’URI externe
Lancez un schéma d’URI inscrit auprès du système d’exploitation.
-
CoreWebView2
Classe: -
CoreWebView2LaunchingExternalUriSchemeEventArgs, classe
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel, propriété
- CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin, propriété
- CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated, propriété
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri, propriété
- CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral, méthode
iframes
Les iframes vous permettent d’incorporer d’autres pages web dans votre propre page web. Dans WebView2, vous pouvez :
- Découvrez quand les iframes sont créés.
- Découvrez quand les iframes naviguent.
- Autoriser le contournement des options x-frame.
Voir aussi :
Authentification
Votre application peut gérer l’authentification de base à l’aide du contrôle WebView2. L’authentification de base est une approche d’authentification spécifique qui fait partie du protocole HTTP.
Voir aussi :
Rendu de WebView2 dans les applications non-framework
Utilisez ces API pour configurer le système de rendu WebView2 si votre application hôte n’utilise pas d’infrastructure d’interface utilisateur. Cette configuration de rendu contrôle la façon dont WebView2 restitue la sortie dans votre application hôte et la façon dont WebView2 gère l’entrée, le focus et l’accessibilité.
Quand utiliser ces API
Infrastructure de l’interface utilisateur : si vous utilisez une infrastructure d’interface utilisateur pour votre application, vous devez utiliser l’élément WebView2 fourni par cette infrastructure d’interface utilisateur, plutôt que d’utiliser ces API.
Pas d’infrastructure d’interface utilisateur et pas de composition : si vous n’utilisez pas d’infrastructure d’interface utilisateur pour votre application (par exemple, si vous utilisez win32 pur directement) ou si votre infrastructure d’interface utilisateur n’a pas d’élément WebView2, vous devez le créer
CoreWebView2Controller
et le restituer dans votre application, à l’aide des API décrites dans cette section.Aucune infrastructure d’interface utilisateur et utilisation de la composition : si l’interface utilisateur de votre application est générée à l’aide de DirectComposition ou de Windows.UI.Composition, vous devez utiliser
CoreWebView2CompositionController
plutôt que d’utiliser ces API. Consultez Rendu WebView2 à l’aide de la composition ci-dessous.
Sous-sections ci-dessous :
- Dimensionnement, positionnement et visibilité
- Zoom
- Échelle de rastérisation
- Focus et tabulation
- Fenêtre parente
- Accélérateurs clavier
- Couleur d’arrière-plan par défaut
-
CoreWebView2Controller
Classe: -
CoreWebView2Environment
Classe:
Dimensionnement, positionnement et visibilité
CoreWebView2Controller
prend un parent HWND
. La Bounds
propriété dimensionne et positionne WebView2 par rapport au parent HWND
. La visibilité de WebView2 peut être activée à l’aide IsVisible
de .
-
CoreWebView2Controller
Classe:
Zoom
WebView2 ZoomFactor
est utilisé pour mettre à l’échelle uniquement le contenu web de la fenêtre. La mise à l’échelle de l’interface utilisateur est également mise à jour lorsque l’utilisateur effectue un zoom sur le contenu en appuyant sur Ctrl tout en faisant pivoter la roulette de la souris.
-
CoreWebView2Controller
Classe: -
CoreWebView2Settings
Classe:
Échelle de rastérisation
L’API RasterizationScale met à l’échelle toute l’interface utilisateur WebView2, y compris les menus contextuels, les info-bulles et les fenêtres contextuelles. L’application peut définir si Le WebView2 doit détecter les changements de mise à l’échelle de l’analyse et mettre automatiquement à jour RasterizationScale.
BoundsMode
est utilisé pour configurer si la propriété Bounds est interprétée comme des pixels bruts ou des DIPs (qui doivent être mis à l’échelle par RasterizationScale
).
Focus et tabulation
Le contrôle WebView2 déclenche des événements pour indiquer à l’application quand le contrôle obtient le focus ou perd le focus. Pour la tabulation (en appuyant sur la touche Tab ), il existe une API pour déplacer le focus dans WebView2 et un événement pour WebView2 pour demander à l’application de reprendre le focus.
Fenêtre parente
WebView2 peut être réparenté dans un autre handle de fenêtre parent (HWND
). WebView2 doit également être averti lorsque la position de l’application sur l’écran a changé.
-
CoreWebview2Controller
Classe:
Accélérateurs clavier
Lorsque WebView2 a le focus, il reçoit directement l’entrée de l’utilisateur. Une application peut vouloir intercepter et gérer certaines combinaisons de touches d’accélérateur (touches de raccourci) ou désactiver les comportements normaux des touches d’accélérateur de navigateur.
Voir aussi Activer ou désactiver le navigateur qui répond aux touches d’accélérateur (touches de raccourci) ci-dessus.
- CoreWebView2AcceleratorKeyPressedEventArgs, classe
-
CoreWebView2Controller
Classe: -
CoreWebView2Settings
Classe:
Couleur d’arrière-plan par défaut
WebView2 peut spécifier une couleur d’arrière-plan par défaut. La couleur peut être n’importe quelle couleur opaque ou transparente. Cette couleur sera utilisée si la page HTML ne définit pas sa propre couleur d’arrière-plan.
-
CoreWebView2Controller
Classe:
Rendu de WebView2 à l’aide de la composition
Pour le rendu WebView2 basé sur la composition, utilisez CoreWebView2Environment
pour créer un CoreWebView2CompositionController
.
CoreWebView2CompositionController
fournit les mêmes API que CoreWebView2Controller
, mais inclut également des API pour le rendu basé sur la composition.
Sous-sections ci-dessous :
- CoreWebView2CompositionController, classe
-
CoreWebView2Environment
Classe:
Connexion à l’arborescence visuelle
WebView2 peut connecter son arborescence de composition à un IDCompositionVisual, IDCompositionTarget ou Windows::UI::Composition::ContainerVisual
.
-
CoreWebView2CompositionController
Classe:
Transfert d’entrée
Une entrée spatiale (souris, interaction tactile, stylet) est reçue par l’application et doit être envoyée à WebView2. WebView2 avertit l’application quand le curseur doit être mis à jour en fonction de la position de la souris.
-
CoreWebView2CompositionController
Classe: -
CoreWebView2Environment
Classe: - CoreWebView2PointerInfo, classe
Glisser-déplacer
Le glissement d’un contrôle WebView2 vers une autre application est pris en charge par défaut. Toutefois, pour faire glisser vers un contrôle WebView2, lorsque l’application hôte reçoit un IDropTarget
événement du système, l’application hôte doit transférer l’événement au contrôle WebView2. Le glissement vers un contrôle WebView2 inclut des opérations de glisser-déplacer qui se trouvent entièrement dans un contrôle WebView2.
Utilisez les API suivantes pour transférer IDropTarget
des événements du système au contrôle WebView2.
-
CoreWebView2CompositionController
Classe:
Accessibilité
Par défaut, WebView2 s’affiche dans l’arborescence d’accessibilité en tant qu’enfant du HWND parent, pour les applications Win32/C++. WebView2 fournit une API pour mieux positionner le contenu WebView2 par rapport aux autres éléments de l’application.
Options d’environnement
Sous-sections ci-dessous :
Données utilisateur
Gérez le dossier de données utilisateur (UDF), qui est un dossier sur l’ordinateur de l’utilisateur. La fonction définie par l’utilisateur contient des données relatives à l’application hôte et à WebView2. Les applications WebView2 utilisent des dossiers de données utilisateur pour stocker les données du navigateur, telles que les cookies, les autorisations et les ressources mises en cache.
Sous-sections ci-dessous :
Voir aussi :
- Gérer les dossiers de données utilisateur
- Effacer les données de navigation du dossier de données utilisateur
-
CoreWebView2Environment
Classe: -
CoreWebView2EnvironmentOptions
Classe:
Effacement des données de navigation :
-
CoreWebView2Profile
Classe: - CoreWebView2BrowsingDataKinds Enum
Plusieurs profils
Gérez plusieurs profils sous un seul dossier de données utilisateur.
Voir aussi :
Créez un objet options qui définit un profil :
-
CoreWebView2Environment
Classe: - CoreWebView2ControllerOptions, classe
Créez un contrôle WebView2 qui utilise le profil :
-
CoreWebView2Environment
Classe:
Accédez au profil et manipulez-le :
-
CoreWebView2
Classe: - CoreWebView2Profile, classe
Supprimer un profil
Votre application peut supprimer des profils utilisateur pour un contrôle de navigateur web WebView2.
Voir aussi :
-
CoreWebView2Profile
Classe:
Sélection du runtime
La sélection du runtime prend en charge les tests de préversion et l’auto-hébergement. Lors de la création d’un environnement WebView2 :
- Pour spécifier un ordre de recherche pour les canaux d’aperçu du navigateur, utilisez la
CoreWebView2EnvironmentOptions.ChannelSearchKind
propriété . - Pour spécifier les canaux d’aperçu du navigateur recherchés, utilisez la
CoreWebView2EnvironmentOptions.ReleaseChannels
propriété .
Voir aussi :
- Tester les API et fonctionnalités à venir
- Test de préversion à l’aide de canaux d’aperçu
- Auto-héberger en déployant des canaux en préversion
CoreWebView2EnvironmentOptions
Classe:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
Énumération CoreWebView2ReleaseChannels
None
Stable
Beta
Dev
Canary
Performances et débogage
Analysez et déboguez les performances, gérez les événements liés aux performances et gérez l’utilisation de la mémoire pour augmenter la réactivité de votre application.
Sous-sections ci-dessous :
Cible d’utilisation de la mémoire
Spécifie les niveaux de consommation de mémoire, tels que low
ou normal
.
-
CoreWebView2
Classe: - CoreWebView2MemoryUsageTargetLevel Enum
Chrome DevTools Protocol (CDP)
Le protocole CDP (Chrome DevTools Protocol) fournit des API pour instrumenter, inspecter, déboguer et profiler des navigateurs basés sur des Chromium. Le protocole Chrome DevTools est la base de Microsoft Edge DevTools. Utilisez le protocole Chrome DevTools pour les fonctionnalités qui ne sont pas implémentées dans la plateforme WebView2.
Voir aussi :
- Utiliser le protocole CDP (Chrome DevTools Protocol) dans les applications WebView2
- Chrome DevTools Protocol
Ouvrir:
-
CoreWebView2Settings
Classe: -
CoreWebView2
Classe:
Appeler:
-
CoreWebView2
Classe:
Récepteur:
Voir aussi
- Présentation de Microsoft Edge WebView2
- Informations de référence sur l’API WebView2 : liens de référence d’API pour d’autres plateformes et langages, tels que WinRT/C++ (COM).