Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’incorporation du contrôle WebView2 dans votre application permet à votre application d’accéder à diverses fonctionnalités du navigateur, via des méthodes et des propriétés fournies par le biais des classes ou interfaces WebView2.
WebView2 dispose de centaines d’API qui fournissent un vaste ensemble de fonctionnalités, allant de l’amélioration des capacités de votre application en matière de plateforme native à la modification des expériences du navigateur pour votre application. Cet article fournit un regroupement de haut niveau des API WebView2 pour vous aider à comprendre les différentes choses que vous pouvez faire à l’aide de WebView2.
Contenu détaillé :
- Vue d’ensemble des fonctionnalités de premier niveau
- Classes principales : Environnement, Manette et Noyau
- Interopérabilité web/native
-
Fonctionnalités du navigateur
- Impression
- Cookies
- Capture d’image
- Chercher
- 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 des clics de souris dans les régions
- Navigation par mouvement de balayage
- Activer ou désactiver le navigateur répondant aux touches d’accès rapide (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
- Gestion des processus
- Activer le traitement en arrière-plan et la prise en charge hors connexion (API de travail WebView2)
- Naviguer vers les pages et gérer le contenu chargé
- iframes
- Authentification
- Rendu de WebView2 dans les applications non-framework
- Rendu de WebView2 à l’aide de la composition
- Options d’environnement
- Performances et débogage
- Protocole Chrome DevTools (CDP)
- Voir aussi
Vue d’ensemble des fonctionnalités de premier niveau
Lorsque vous hébergez le contrôle WebView2, votre application a accès aux fonctionnalités et API suivantes :
| Fonctionnalité | Objectif |
|---|---|
| Classes principales : Environnement, Manette et Noyau | Les CoreWebView2Environmentclasses , CoreWebView2Controlleret CoreWebView2 (ou des interfaces équivalentes) fonctionnent ensemble afin 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 à vos utilisateurs les catégories ci-dessous de fonctionnalités liées au navigateur. |
| Interopérabilité web/native | Incorporez 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 du 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 sortants et les processus ayant échoué, afin que votre application puisse agir en conséquence. |
| Naviguer vers les pages et gérer le contenu chargé | Gérez la navigation vers les pages web et gérez le contenu qui y est chargé. |
| iframes | Intégrez 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, contourner 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 FDU contient des données relatives à l’application hôte et à WebView2. Les applications WebView2 utilisent les 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 FDU. La sélection au moment de l’exécution 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 du 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. |
| Protocole Chrome DevTools (CDP) | Instrumenter, inspecter, déboguer et profiler les navigateurs basés sur Chromium. Le protocole Chrome DevTools (CDP) constitue la base des DevTools de Microsoft Edge. Utilisez le protocole Chrome DevTools pour les fonctionnalités qui ne sont pas implémentées dans la plate-forme WebView2. |
Cette page ne répertorie que les API qui se trouvent dans les SDK de mise en production ; il ne répertorie pas les API expérimentales ou les API stables qui ne sont pas encore disponibles dans les SDK de mise en production. Pour une liste complète des API, y compris les API expérimentales, consultez les notes de mise à jour de WebView2.
Classes principales : Environnement, Manette et Noyau
Les CoreWebView2Environmentclasses , CoreWebView2Controlleret CoreWebView2 (ou des interfaces équivalentes) fonctionnent ensemble afin 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 à vos utilisateurs.
La
CoreWebView2Environmentclasse 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 du convertisseur. À partir de cetteCoreWebView2Environmentclasse, vous créez des paires d’instances etCoreWebView2desCoreWebView2Controllerinstances.La
CoreWebView2Controllerclasse 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
CoreWebView2classe est destinée aux parties spécifiques au web du contrôle WebView2, y compris la mise en réseau, la navigation, les scripts, l’analyse et le rendu du code 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 principales API de communication entre le code web et le code natif.
Cas d’utilisation courants de l’interopérabilité web/native :
- Mettez à jour le titre de la fenêtre native de l’hôte après avoir navigué vers un autre site web.
- Envoyez un objet appareil photo natif et utilisez ses méthodes à partir d’une application web.
- Exécutez un fichier JavaScript dédié sur le côté web d’une application.
Voir aussi :
- Interopérabilité du code natif et web
- Appeler du code côté web à partir du code natif
- Appeler du code côté natif à partir du code côté web
- Appeler un code WinRT côté natif à partir du code côté web
-
API JavaScript dans WebView2 pour
window.chrome.webviewles API JavaScript
Partage d’objets hôte/web
WebView2 permet aux objets définis dans le code natif d’être transmis 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 transmettre 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 de l’utilisateur sur le côté web de votre application. De cette façon, vous n’avez pas besoin de réimplémenter les API de vos objets natifs, tels que des méthodes ou des propriétés, dans votre code côté web.
-
CoreWebView2Classe : -
CoreWebView2SettingsClasse :
Exécution du script
Permet à l’application hôte d’ajouter du code JavaScript dans le contenu web dans le contrôle WebView2.
-
CoreWebView2Classe : - Classe CoreWebView2ExecuteScriptResult
-
CoreWebView2FrameClasse : - Classe CoreWebView2ScriptException
-
CoreWebView2SettingsClasse :
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 poster et recevoir des PostWebMessageAsJson objets DOM avec votre message, via le additionalObjects paramètre de (.NET, WinRT) ou via PostWebMessageAsJsonWithAdditionalObjects (Win32). La classe WebView2 CoreWebView2FileSystemHandle représente le DOM FileSystemHandle, et CoreWebView2File représente le DOM File. Voir aussi chrome.webview.postMessageWithAdditionalObjects dans la Référence JavaScript.
CoreWebView2Classe :CoreWebView2FrameClasse :CoreWebView2SettingsClasse :CoreWebView2EnvironmentClasse :CoreWebView2FileSystemHandleClasse :CoreWebView2FileSystemHandleKind Enum
FileDirectory
CoreWebView2FileSystemHandlePermission Enum
ReadOnlyReadWrite
Boîtes de dialogue de script
Lorsque vous hébergez WebView2, votre application peut gérer différentes boîtes de dialogue JavaScript, pour les supprimer ou les remplacer par des boîtes de dialogue personnalisées.
-
CoreWebView2Classe : - CoreWebView2ScriptDialogOpeningEventArgs Class
Mémoire tampon partagée
L’API SharedBuffer prend en charge le partage de mémoires tampons entre le processus de l’application hôte WebView2 et le processus du moteur de rendu WebView2, en fonction de la mémoire partagée du système d’exploitation.
Voir aussi :
-
CoreWebView2Classe : -
CoreWebView2EnvironmentClasse : -
CoreWebView2FrameClasse : - Classe CoreWebView2SharedBuffer
-
CoreWebView2SharedBufferAccess Enum
ReadOnlyReadWrite
Fonctionnalités du navigateur
Le contrôle WebView2 permet à votre application d’accéder à de nombreuses fonctionnalités du navigateur. Vous pouvez modifier ces fonctionnalités de navigateur et les activer ou les désactiver.
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 :
-
CoreWebView2Classe : -
CoreWebView2EnvironmentClasse : - Classe CoreWebView2PrintSettings
- CoreWebView2PrintDialogKind Enum
- CoreWebView2PrintStatus Enum
Cookies
Vous pouvez utiliser des cookies dans WebView2 pour gérer les sessions utilisateur, stocker les préférences de personnalisation de l’utilisateur et suivre son comportement.
Voir aussi :
-
CoreWebView2Classe : - Classe CoreWebView2Cookie
- Classe CoreWebView2CookieManager
-
CoreWebView2ProfileClasse :
Capture d’image
En hébergeant WebView2, votre application peut capturer des captures d’écran et indiquer le format à utiliser pour enregistrer l’image.
-
CoreWebView2Classe :
Contrôler si l’interface utilisateur de capture d’écran est affichée
L’événement ScreenCaptureStarting est déclenché chaque fois que le WebView2 et/ou l’iframe correspondant à l’iframe CoreWebView2Frame (ou à l’un de ses iframes descendants) demande l’autorisation d’utiliser l’API Screen Capture avant que l’interface utilisateur ne s’affiche. L’application peut alors bloquer l’affichage de l’interface utilisateur ou autoriser l’affichage de l’interface utilisateur.
CoreWebView2Classe :CoreWebView2FrameClasse :CoreWebView2NonClientRegionKindÉnumération :
Rechercher
L’API Find vous permet de contrôler par programme les opérations de recherche et permet d’ajouter les fonctionnalités suivantes à votre application :
- Personnalisez les options de recherche, notamment Terme de recherche, Sensibilité à la casse, Correspondance de Word, Mise en surbrillance de correspondance et Suppression de l’interface utilisateur par défaut.
- Recherchez des chaînes de texte et naviguez parmi elles dans un contrôle WebView2.
- Lancer par programme Opérations de recherche et naviguer Rechercher des résultats.
- Supprimez l’interface utilisateur de recherche par défaut.
- Suivez le status des opérations de recherche.
Il existe des problèmes connus avec l’API Rechercher pour les documents PDF. Lorsque vous affichez un document PDF dans un contrôle WebView2, la fonctionnalité Rechercher ne fournit actuellement que le premier index et le nombre de correspondances trouvées. Par exemple, si la chaîne apparaît trois fois dans un fichier PDF, l’interface utilisateur indiquerait 1/3 et ne prendrait pas en charge l’appel par programme suivant ou précédent.
Nous examinons activement ces problèmes et nous vous encourageons à signaler tout problème que vous rencontrez à l’aide du référentiel WebView2Feedback .
CoreWebView2Classe :CoreWebView2EnvironmentClasse :-
- Propriété CoreWebView2Find.ActiveMatchIndex
- CoreWebView2Find.ActiveMatchIndexChanged Event
- CoreWebView2Find.FindNext Method
- CoreWebView2Find.FindPrevious Method
- Propriété CoreWebView2Find.MatchCount
- Événement CoreWebView2Find.MatchCountChanged
- CoreWebView2Find.StartAsync Méthode
- CoreWebView2Find.Stop méthode
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 métadonnées différentes.
- Modifiez 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 :
-
CoreWebView2Classe :
Modifier l’expérience par défaut :
-
CoreWebView2Classe : -
CoreWebView2ProfileClasse :
Expérience de téléchargement personnalisée :
Enregistrer sous
Les API Enregistrer sous vous permettent d’effectuer par programme 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.
CoreWebView2Classe :-
CompleteDefaultHtmlOnlySingleFile
CoreWebView2SaveAsUIResult Enum
CancelledFileAlreadyExistsInvalidPathKindNotSupportedSuccess
Classe CoreWebView2SaveAsUIShowingEventArgs
- Propriété CoreWebView2SaveAsUIShowingEventArgs.AllowReplace
- CoreWebView2SaveAsUIShowingEventArgs.Cancel Property
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType Property
- CoreWebView2SaveAsUIShowingEventArgs.Kind Property
- Propriété CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog Property
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method
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 d’URI d’origine du document. Vous pouvez ensuite appliquer vos propres règles pour effectuer les actions suivantes :
- Autorisez l’enregistrement du fichier sans présenter d’interface utilisateur d’avertissement de sécurité par défaut sur la stratégie de type de fichier.
- Annulez l’économie.
- Créez votre propre interface utilisateur pour gérer les stratégies de type de fichier runtime.
CoreWebView2Classe :CoreWebView2SaveFileSecurityCheckStartingEventArgs Class
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave Property
- Propriété CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension Property
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath Property
- Propriété CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral Method
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, permettant la personnalisation ou la suppression par l’application hôte. Les notifications non gérées s’affichent par défaut dans l’interface utilisateur de WebView2.
CoreWebView2Classe :Classe CoreWebView2Notification
- Propriété CoreWebView2Notification.BadgeUri
- Propriété CoreWebView2Notification.Body
- Propriété CoreWebView2Notification.BodyImageUri
- Propriété CoreWebView2Notification.Direction
- Propriété CoreWebView2Notification.IconUri
- Propriété CoreWebView2Notification.IsSilent
- CoreWebView2Notification.Language, propriété
- Propriété CoreWebView2Notification.RequiresInteraction
- Propriété CoreWebView2Notification.ShouldRenotify
- Propriété CoreWebView2Notification.Tag
- Propriété CoreWebView2Notification.Timestamp
- Propriété CoreWebView2Notification.Title
- Propriété CoreWebView2Notification.VibrationPattern
- CoreWebView2Notification.ReportClicked Method
- CoreWebView2Notification.ReportClosed Method
- Méthode CoreWebView2Notification.ReportShown
- CoreWebView2Notification.CloseRequested Event
CoreWebView2TextDirectionKind Enum
DefaultLeftToRightRightToLeft
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 programme aux demandes d’autorisations et remplacer l’interface utilisateur des autorisations par défaut par sa propre interface utilisateur.
-
CoreWebView2Classe : -
CoreWebView2FrameClasse : - CoreWebView2PermissionKind Enum
-
CoreWebView2PermissionRequestedEventArgsClasse : - Classe CoreWebView2PermissionSetting
-
CoreWebView2ProfileClasse :
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 :
-
CoreWebView2Classe : - CoreWebView2ContextMenuItem Class
- CoreWebView2ContextMenuRequestedEventArgs Class
- CoreWebView2ContextMenuTarget classe
-
CoreWebView2EnvironmentClasse : -
CoreWebView2SettingsClasse :
Barre d’état
Une barre de status est située 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 de status, obtenir le texte dans la barre de status et savoir quand le texte de la barre de status a changé.
-
CoreWebView2Classe : -
CoreWebView2SettingsClasse :
Barres de défilement de superposition Fluent
Stylise les barres de défilement avec la conception Microsoft Fluent et fait en sorte que les barres de défilement se superposent sur le contenu Web. Cette conception de barre de défilement adaptative s’adapte à différents appareils et tailles de fenêtre.
Pour expérimenter les barres de défilement de superposition Fluent, dans Microsoft Edge, accédez à edge://flags , puis entrez dans les barres de défilement de superposition Fluent.
Voir aussi :
- Indicateurs du -
msEdgeFluentOverlayScrollbarnavigateur WebView2 etmsOverlayScrollbarWinStyledes drapeaux.
CoreWebView2EnvironmentOptionsClasse :CoreWebView2ScrollbarStyle Enum
DefaultFluentOverlay
Agent utilisateur
L’agent utilisateur est une chaîne qui représente l’identité du programme pour le compte de l’utilisateur, comme le nom du navigateur. Dans WebView2, vous pouvez définir l’agent utilisateur.
Voir aussi :
- Détecter l’architecture Windows 11 et CPU à l’aide d’indications client User-Agent
- Remplacer la chaîne de l’agent utilisateur
-
CoreWebView2SettingsClasse :
Remplissage automatique
Votre application peut contrôler de manière indépendante si la fonctionnalité de remplissage automatique du navigateur est activée pour les informations générales ou pour les mots de passe.
-
CoreWebView2SettingsClasse :
L’audio
Votre application peut désactiver et activer le son de tous les fichiers audio et découvrir quand l’audio est en cours de lecture.
Test des clics de souris dans les régions
Fournit des résultats de test d’accès sur les régions contenues dans un WebView2. 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.
CoreWebView2CompositionControllerClasse :CoreWebView2NonClientRegionChangedEventArgsClasse :CoreWebView2NonClientRegionKind Enum
CaptionClientNowhere
CoreWebView2SettingsClasse :
Navigation par mouvement de balayage
En hébergeant le contrôle WebView2, votre application peut activer ou désactiver la navigation par balayage sur les appareils compatibles avec la saisie tactile. Ce mouvement permet aux utilisateurs finaux de :
- Balayez vers la gauche/droite (balayez horizontalement) pour accéder à la page précédente ou suivante dans l’historique de navigation.
- Tirez pour actualiser (balayez 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.
-
CoreWebView2SettingsClasse : -
CoreWebView2EnvironmentOptionsClasse :
Activer ou désactiver le navigateur répondant aux touches d’accès rapide (touches de raccourci)
ICoreWebView2AcceleratorKeyPressedEventArgs a une IsBrowserAcceleratorKeyEnabled propriété qui vous permet de contrôler si le navigateur gère les touches d’accélération (touches de raccourci), telles que Ctrl+P ou F3.
Voir aussi :
- Accélérateurs clavier, ci-dessous.
-
CoreWebView2AcceleratorKeyPressedEventArgsClasse :
Plein écran
Dans WebView2, vous pouvez savoir quand un élément HTML entre ou quitte l’affichage plein écran.
Barre d’outils PDF
Dans la visionneuse PDF du navigateur, il existe une barre d’outils spécifique au PDF en haut. Dans WebView2, vous pouvez masquer certains éléments dans la barre d’outils de la visionneuse PDF.
-
CoreWebView2SettingsClasse :
Thèmes
Dans WebView2, vous pouvez personnaliser le thème de couleur comme système, clair ou sombre.
-
CoreWebView2ProfileClasse :
Langue
La Language propriété définit la langue d’affichage par défaut de WebView2 qui s’applique à l’interface utilisateur du navigateur (comme 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 API JavaScript et les autres API JavaScript qui en dépendent, par Intl.DateTimeFormat()exemple, ce qui affecte la mise en forme des chaînes dans les Intl formats heure/date.
-
CoreWebView2EnvironmentOptionsClasse : -
CoreWebView2ControllerOptionsClasse :
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 .
-
CoreWebView2Classe : -
CoreWebView2ControllerClasse :
Titre du document
Votre application peut détecter quand le titre du document de niveau supérieur actuel a changé.
-
CoreWebView2Classe :
Favicon
Dans WebView2, vous pouvez définir un favicon pour un site web ou être averti lorsqu’il change.
-
CoreWebView2Classe :
Sécurité et confidentialité
Protection contre le 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.
-
CoreWebView2EnvironmentOptionsClasse : -
CoreWebView2ProfileClasse : -
CoreWebView2TrackingPreventionLevel Enum
NoneBasicBalancedStrict
SmartScreen
Microsoft Defender SmartScreen (« SmartScreen ») est activé par défaut. La IsReputationCheckingRequired propriété détermine si SmartScreen est activé.
Si vous ne désactivez pas SmartScreen, vous devez informer tous les utilisateurs que votre logiciel inclut Microsoft Defender SmartScreen, collecte et envoie les informations de l’utilisateur à Microsoft, comme indiqué dans la Déclaration de confidentialité Microsoft et dans SmartScreen dans Données utilisateur et confidentialité dans Microsoft Edge.
Voir aussi :
- SmartScreen dans Données et confidentialité dans WebView2.
-
CoreWebView2SettingsClasse :
Rapports d’incidents personnalisés
Si un processus WebView2 se bloque, un ou plusieurs minidump files sont créés et envoyés à Microsoft pour diagnostic. Utilisez cette API pour personnaliser les rapports d’incident lors de l’exécution de diagnostics et de l’analyse.
- Pour empêcher les vidages sur incident d’être envoyés à Microsoft, définissez la
IsCustomCrashReportingEnabledpropriété surfalse. - Pour localiser les vidages sur incident et les personnaliser, utilisez la
CrashDumpFolderPathpropriété.
Voir aussi :
- Compte-rendu d’incident personnalisé dans Données et confidentialité dans WebView2.
- Minidump Files
-
CoreWebView2EnvironmentOptionsClasse : -
CoreWebView2EnvironmentClasse :
Extensions de navigateur
Votre application peut incorporer un contrôle WebView2 qui utilise une extension Microsoft Edge. 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 :
CoreWebView2EnvironmentOptionsClasse :CoreWebView2ProfileClasse :
Gestion des processus
Obtenez des informations sur l’exécution des processus WebView2, les processus sortants et les processus ayant échoué, afin que votre application puisse agir en conséquence.
-
CoreWebView2Classe : - Classe CoreWebView2BrowserProcessExitedEventArgs
-
CoreWebView2EnvironmentClasse : - Classe CoreWebView2ProcessFailedEventArgs
- CoreWebView2ProcessFailedKind Enum
- CoreWebView2ProcessFailedReason Enum
- Classe CoreWebView2ProcessInfo
Informations sur le processus de cadre
L’API Frame Process Info, y compris GetProcessExtendedInfos, fournit une collection d’instantanés de toutes les images en cours d’exécution dans le processus de rendu associé. Cette API permet à votre application de détecter quelle partie de WebView2 consomme des ressources telles que l’utilisation de la mémoire ou du processeur.
CoreWebView2EnvironmentClasse :CoreWebView2ProcessExtendedInfoClasse :CoreWebView2Classe :CoreWebView2FrameClasse :CoreWebView2FrameInfoClasse :
Activer le traitement en arrière-plan et la prise en charge hors connexion (API de travail WebView2)
Les API de travail WebView2 permettent aux applications hôtes d’interagir avec les travailleurs web pour décharger des tâches du thread principal, améliorer la réactivité et prendre en charge les opérations en arrière-plan. Ces travailleurs web incluent des travailleurs dédiés, des travailleurs partagés et des travailleurs de service.
Ces API fournissent :
- Événements du cycle de vie : Surveiller la création et la destruction de travailleurs.
-
Interfaces de messagerie : Communiquer avec les travailleurs à l’aide de
PostMessageetWebMessageReceived; plus précisément :CoreWebView2ServiceWorker.PostWebMessageAsJsonCoreWebView2ServiceWorker.PostWebMessageAsStringCoreWebView2DedicatedWorker.PostWebMessageAsJsonCoreWebView2DedicatedWorker.PostWebMessageAsStringCoreWebView2ServiceWorker.WebMessageReceivedCoreWebView2DedicatedWorker.WebMessageReceivedchrome.webview.postMessage- Pas :
chrome.webview.postMessageWithAdditionalObjects
- Gestion des employés : Interroger et récupérer les inscriptions et instances de travail.
-
CoreWebView2Classe :
-
Classe CoreWebView2DedicatedWorker
- CoreWebView2DedicatedWorker.DedicatedWorkerCreated Event
- CoreWebView2DedicatedWorker.Destroying Event
- CoreWebView2DedicatedWorker.PostWebMessageAsJson méthode
- CoreWebView2DedicatedWorker.PostWebMessageAsString Method
- Propriété CoreWebView2DedicatedWorker.ScriptUri
- Événement CoreWebView2DedicatedWorker.WebMessageReceived
-
CoreWebView2FrameClasse :
-
CoreWebView2ProfileClasse :
-
Classe CoreWebView2ServiceWorkerRegistration
- Propriété CoreWebView2ServiceWorkerRegistration.ActiveServiceWorker
- Propriété CoreWebView2ServiceWorkerRegistration.Origin
- Propriété CoreWebView2ServiceWorkerRegistration.ScopeUri
- CoreWebView2ServiceWorkerRegistration.ServiceWorkerActivated Event
- Propriété CoreWebView2ServiceWorkerRegistration.TopLevelOrigin
- Événement CoreWebView2ServiceWorkerRegistration.Unregistration Event
Naviguer vers les 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 qui est chargé dans les pages web.
Gérer le contenu chargé dans WebView2
Ces API chargent, arrêtent le chargement et rechargent le contenu dans WebView2. Le contenu chargé peut être :
- Contenu à partir d’une URL.
- Chaîne de code HTML.
- Contenu local via le nom d’hôte virtuel vers le mappage de dossiers locaux.
- Contenu d’une demande réseau construite.
Voir aussi :
-
CoreWebView2Classe :- CoreWebView2.ClearVirtualHostNameToFolderMapping Method
- Méthode CoreWebView2.Navigate
- CoreWebView2.NavigateToString méthode
- Méthode CoreWebView2.NavigateWithWebResourceRequest
- CoreWebView2.Reload Method
- CoreWebView2.SetVirtualHostNameToFolderMapping Method
- CoreWebView2.Stop méthode
- CoreWebView2.WebResourceRequested Event
-
CoreWebView2SettingsClasse :
Historique de navigation
Les méthodes d’historique permettent une navigation en arrière et en 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.
Type de navigation
NavigationKind Obtient le type de navigation de chaque navigation, par exemple, Précédent/Suivant, Rechargement ou navigation vers un nouveau document.
-
CoreWebView2NavigationStartingEventArgsClasse : - 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.
-
CoreWebView2Classe :- CoreWebView2.NavigationStarting Event
-
CoreWebView2.FrameNavigationStarting Event - remplacé ; Utiliser
CoreWebView2Frame.NavigationStartingà la place
-
CoreWebView2FrameClasse : - Classe CoreWebView2NavigationStartingEventArgs
É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 :
-
CoreWebView2Classe :- Événement CoreWebView2.ContentLoading
- CoreWebView2.Événement DOMContentLoaded
-
CoreWebView2.FrameNavigationCompleted Event - remplacé ; à utiliser
CoreWebView2Frame.NavigationCompletedà la place. - Événement CoreWebView2.NavigationCompleted
- Classe CoreWebView2ContentLoadingEventArgs
- Classe CoreWebView2DOMContentLoadedEventArgs
-
CoreWebView2FrameClasse : - Classe CoreWebView2NavigationCompletedEventArgs
Gérer les requêtes 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 demande envoyée et la réponse reçue du réseau.
Voir aussi :
CoreWebView2Classe :
Inscription de schéma personnalisé
Permet CustomSchemeRegistration l’inscription de schémas personnalisés dans WebView2 afin que l’application puisse gérer l’événement pour les WebResourceRequested demandes adressées à ces URL de schémas personnalisés et naviguer dans la WebView2 vers ces URL.
- Classe CoreWebView2CustomSchemeRegistration
-
CoreWebView2EnvironmentOptionsClasse :
Certificats clients
Dans WebView2, vous pouvez utiliser l’API de certificat client pour sélectionner le certificat client au niveau de l’application. Cette API vous permet d’effectuer les opérations suivantes :
- Affichez une interface utilisateur à l’utilisateur, si vous le souhaitez.
- Remplacer l’invite de dialogue du certificat client par défaut.
- Interrogez les certificats par programmation.
- Sélectionnez un certificat dans la liste pour répondre au serveur, lorsque WebView2 envoie une requête à un serveur HTTP nécessitant 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 avertir l’utilisateur de 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 enregistré auprès du système d’exploitation.
-
CoreWebView2Classe : -
CoreWebView2LaunchingExternalUriSchemeEventArgs Class
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel Property
- CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property
- Propriété CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated
- Propriété CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri
- CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral Method
iframes
Les iframes vous permettent d’intégrer 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 :
- Partage d’objets hôte/web, ci-dessus
- Utilisation de cadres dans les applications WebView2
- Suivre l’historique de navigation pour les iframes imbriqués (API FrameCreatedEvent) dans les notes de version archivées pour le SDK WebView2.
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 d’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 la créer
CoreWebView2Controlleret l’afficher dans votre application, à l’aide des API de cette section.Aucune infrastructure d’interface utilisateur, et utilisation de Composition : si l’interface utilisateur de votre application est créée à l’aide de DirectComposition ou Windows.UI.Composition, vous devez utiliser
CoreWebView2CompositionControllerplutôt que d’utiliser ces API ; voir Rendu de WebView2 à l’aide de Composition, ci-dessous.
-
CoreWebView2ControllerClasse : -
CoreWebView2EnvironmentClasse :
Dimensionnement, positionnement et visibilité
CoreWebView2Controller prend un parent HWND. La Bounds propriété taille et positionne le WebView2 par rapport au parent HWND. La visibilité de WebView2 peut être activée à l’aide IsVisiblede .
-
CoreWebView2ControllerClasse :
Zoom en cours
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 tourner la molette de la souris.
-
CoreWebView2ControllerClasse : -
CoreWebView2SettingsClasse :
É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 WebView2 doit détecter, surveiller les changements d’échelle 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 DIP (qui doivent être mis à l’échelle par RasterizationScale).
Mise au point et tabulation
Le contrôle WebView2 déclenche des événements pour informer l’application quand le contrôle gagne 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 reparenté sur un autre descripteur de fenêtre parent (HWND). WebView2 doit également être averti lorsque la position de l’application sur l’écran a changé.
-
CoreWebview2ControllerClasse :
Accélérateurs clavier
Lorsque WebView2 a le focus, il reçoit directement les entrées de l’utilisateur. Une application peut intercepter et gérer certaines combinaisons de touches d’accélérateur (touches de raccourci), ou désactiver le comportement normal de la touche d’accélérateur du navigateur.
Voir aussi Activer ou désactiver le navigateur répondant aux touches d’accélérateur (touches de raccourci) ci-dessus.
- Classe CoreWebView2AcceleratorKeyPressedEventArgs
-
CoreWebView2ControllerClasse : -
CoreWebView2SettingsClasse :
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.
Voir aussi :
- Définissez la couleur d’arrière-plan par défaut lors de l’initialisation de WebView2 (API DefaultBackgroundColor) dans les notes de version archivées pour le SDK WebView2.
CoreWebView2ControllerClasse :CoreWebView2ControllerOptionsClasse :
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.
- Classe CoreWebView2CompositionController
-
CoreWebView2EnvironmentClasse :
Connexion à l’arborescence d’éléments visuels
WebView2 peut connecter son arborescence de composition à un IDCompositionVisual, IDCompositionTarget ou Windows::UI::Composition::ContainerVisual.
-
CoreWebView2CompositionControllerClasse :
transfert d’entrée
L’entrée spatiale (souris, toucher, stylet) est reçue par l’application et doit être envoyée à WebView2. WebView2 avertit l’application lorsque le curseur doit être mis à jour en fonction de la position de la souris.
-
CoreWebView2CompositionControllerClasse : -
CoreWebView2EnvironmentClasse : - Classe CoreWebView2PointerInfo
Autoriser les messages d’événement d’entrée à passer par la fenêtre du navigateur
Autorise les messages d’événement d’entrée utilisateur (clavier, souris, interaction tactile ou stylet) à traverser la fenêtre du navigateur et à être reçus par une fenêtre de processus d’application.
-
CoreWebView2ControllerOptionsClasse :
Faire un glisser-déplacer
Le glissement d’un contrôle WebView2 vers une autre application est pris en charge par défaut. Toutefois, le glissement vers un contrôle WebView2 exige que lorsque l’application hôte reçoit un IDropTarget événement du système, l’application hôte transfère 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 les événements du système vers le contrôle WebView2.
-
CoreWebView2CompositionControllerClasse :
Accessibilité
Par défaut, WebView2 s’affiche dans l’arborescence d’accessibilité en tant qu’enfant du parent HWND, 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
Données utilisateur
Gérez le dossier de données utilisateur (UDF), qui est un dossier sur l’ordinateur de l’utilisateur. La FDU contient des données relatives à l’application hôte et à WebView2. Les applications WebView2 utilisent les dossiers de données utilisateur pour stocker les données du navigateur, telles que les cookies, les autorisations et les ressources mises en cache.
Voir aussi :
- Gérer les dossiers de données utilisateur
- Effacer les données de navigation du dossier de données utilisateur
-
CoreWebView2EnvironmentClasse : -
CoreWebView2EnvironmentOptionsClasse :
Suppression des données de navigation :
-
CoreWebView2ProfileClasse : - CoreWebView2BrowsingDataKinds Enum
Profils multiples
Gérer plusieurs profils dans un seul dossier de données utilisateur.
Voir aussi :
Créez un objet d’options qui définit un profil :
-
CoreWebView2EnvironmentClasse : - Classe CoreWebView2ControllerOptions
Créez un contrôle WebView2 qui utilise le profil :
-
CoreWebView2EnvironmentClasse :
Accédez au profil et manipulez-le :
-
CoreWebView2Classe : - Classe CoreWebView2Profile
Supprimer un profil
Votre application peut supprimer des profils utilisateur pour un contrôle de navigateur web WebView2.
Voir aussi :
-
CoreWebView2ProfileClasse :
Sélection de l’exécution
La sélection au moment de l’exécution 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.ChannelSearchKindpropriété. - Pour spécifier les canaux d’aperçu du navigateur recherchés, utilisez la
CoreWebView2EnvironmentOptions.ReleaseChannelspropriété.
Voir aussi :
- Basculer vers un canal d’aperçu pour tester les API et fonctionnalités à venir
- Test en préversion à l’aide des canaux d’aperçu de Microsoft Edge
- Auto-hôte en déployant des canaux d’aperçu
CoreWebView2EnvironmentOptionsClasse :CoreWebView2ChannelSearchKind Enum
MostStableLeastStable
CoreWebView2ReleaseChannels Enum
NoneStableBetaDevCanary
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.
Cible d’utilisation de la mémoire
Spécifie des niveaux de consommation de mémoire, tels que low ou normal.
-
CoreWebView2Classe : - CoreWebView2MemoryUsageTargetLevel Enum
Protocole Chrome DevTools (CDP)
Le protocole Chrome DevTools (CDP) fournit des API pour instrumenter, inspecter, déboguer et profiler les navigateurs basés sur Chromium. Le protocole Chrome DevTools constitue la base des DevTools de Microsoft Edge. Utilisez le protocole Chrome DevTools pour les fonctionnalités qui ne sont pas implémentées dans la plate-forme WebView2.
Voir aussi :
- Utiliser le protocole Chrome DevTools (CDP) dans les applications WebView2
- Protocole Chrome DevTools
Ouvrir :
-
CoreWebView2SettingsClasse : -
CoreWebView2Classe :
Appelez :
-
CoreWebView2Classe :
Récepteur :
Voir aussi
- Introduction à Microsoft Edge WebView2
- Référence de l’API WebView2 : liens de référence d’API pour d’autres plateformes et langages, tels que WinRT/C++ (COM).