Vue d’ensemble des API WebView2

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

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 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 du convertisseur. À partir de cette CoreWebView2Environment classe, vous créez des paires d’instances et CoreWebView2 des CoreWebView2Controller instances.

  • 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, 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 :

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.

Exécution du script

Permet à l’application hôte d’ajouter du code JavaScript dans le contenu web dans le contrôle WebView2.

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.

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.

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 :

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 :

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 :

Capture d’image

En hébergeant WebView2, votre application peut capturer des captures d’écran et indiquer le format à utiliser pour enregistrer l’image.

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.

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 .

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 :

Modifier l’expérience par défaut :

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.

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.

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.

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.

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 :

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é.

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 et msOverlayScrollbarWinStyle des drapeaux.

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 :

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.

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.

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.

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 :

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.

Thèmes

Dans WebView2, vous pouvez personnaliser le thème de couleur comme système, clair ou sombre.

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.

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 .

Titre du document

Votre application peut détecter quand le titre du document de niveau supérieur actuel a changé.

Favicon

Dans WebView2, vous pouvez définir un favicon pour un site web ou être averti lorsqu’il change.

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.

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.
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 IsCustomCrashReportingEnabled propriété sur false.
  • Pour localiser les vidages sur incident et les personnaliser, utilisez la CrashDumpFolderPath propriété.

Voir aussi :

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 :

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.

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.

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 PostMessage et WebMessageReceived; plus précisément :
    • CoreWebView2ServiceWorker.PostWebMessageAsJson
    • CoreWebView2ServiceWorker.PostWebMessageAsString
    • CoreWebView2DedicatedWorker.PostWebMessageAsJson
    • CoreWebView2DedicatedWorker.PostWebMessageAsString
    • CoreWebView2ServiceWorker.WebMessageReceived
    • CoreWebView2DedicatedWorker.WebMessageReceived
    • chrome.webview.postMessage
    • Pas : chrome.webview.postMessageWithAdditionalObjects
  • Gestion des employés : Interroger et récupérer les inscriptions et instances de travail.

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 :

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.

NavigationKind Obtient le type de navigation de chaque navigation, par exemple, Précédent/Suivant, Rechargement ou navigation vers un nouveau document.

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.

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 :

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 :

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.

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.

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 :

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 CoreWebView2Controller et 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 CoreWebView2CompositionController plutôt que d’utiliser ces API ; voir Rendu de WebView2 à l’aide de Composition, ci-dessous.

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 .

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.

É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é.

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.

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 :

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.

Connexion à l’arborescence d’éléments visuels

WebView2 peut connecter son arborescence de composition à un IDCompositionVisual, IDCompositionTarget ou Windows::UI::Composition::ContainerVisual.

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.

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.

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.

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.

Non applicable.

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 :

Suppression des données de navigation :

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 :

Créez un contrôle WebView2 qui utilise le profil :

Accédez au profil et manipulez-le :

Supprimer un profil

Votre application peut supprimer des profils utilisateur pour un contrôle de navigateur web WebView2.

Voir aussi :

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.ChannelSearchKind propriété.
  • Pour spécifier les canaux d’aperçu du navigateur recherchés, utilisez la CoreWebView2EnvironmentOptions.ReleaseChannels propriété.

Voir aussi :

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.

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 :

Ouvrir :

Appelez :

Récepteur :

Voir aussi