Información general sobre las características y las API de WebView2
La inserción del control WebView2 en la aplicación proporciona a la aplicación acceso a varios métodos y propiedades que se proporcionan a través de las clases o interfaces de WebView2. WebView2 tiene cientos de API que proporcionan un amplio conjunto de funcionalidades, que van desde la mejora de las funcionalidades de plataforma nativa de la aplicación hasta la habilitación de la aplicación para modificar las experiencias del explorador. En este artículo se proporciona una agrupación de alto nivel de las API de WebView2 para ayudarle a comprender las distintas cosas que puede hacer con WebView2.
Introducción a las áreas de características de nivel superior
Al hospedar el control WebView2, la aplicación tiene acceso a las siguientes características y API:
Área de característica | Objetivo |
---|---|
Clases principales: Entorno, Controlador y Núcleo | Las CoreWebView2Environment clases , CoreWebView2Controller y CoreWebView2 (o interfaces equivalentes) funcionan juntas para que la aplicación pueda hospedar un control de explorador WebView2 y acceder a sus características del explorador. Estas clases grandes exponen una amplia gama de API a las que puede acceder la aplicación host para proporcionar las siguientes categorías de características relacionadas con el explorador para los usuarios. |
Interoperabilidad web/nativa | Insertar contenido web en aplicaciones nativas. Comunicarse entre código nativo y código web mediante mensajes simples, código JavaScript y objetos nativos. |
Características del explorador | El control WebView2 proporciona a la aplicación acceso a muchas características del explorador. Puede modificar estas características del explorador y activarlas o desactivarlas. |
Administración de procesos | Obtenga información sobre cómo ejecutar procesos WebView2, salir de procesos y procesos con errores, para que la aplicación pueda tomar medidas en consecuencia. |
Navegar a páginas y administrar el contenido cargado | Administre la navegación a páginas web y administre el contenido que se carga en las páginas web. |
iframes | Inserte otras páginas web en su propia página web. Detecte cuándo se crean páginas web incrustadas, detecte cuándo navegan las páginas web incrustadas y, opcionalmente, omita las opciones de marco X. |
Autenticación | La aplicación puede controlar la autenticación básica mediante el control WebView2. La autenticación básica es un enfoque de autenticación específico que forma parte del protocolo HTTP. |
Representación de WebView2 en aplicaciones que no son de marco | Use estas API para configurar el sistema de representación WebView2 si la aplicación host no usa un marco de interfaz de usuario. Esta configuración de representación controla cómo WebView2 representa la salida en la aplicación host y cómo WebView2 controla la entrada, el foco y la accesibilidad. |
Representación de WebView2 mediante Composition | Para la representación webView2 basada en composición, use CoreWebView2Environment para crear un CoreWebView2CompositionController objeto .
CoreWebView2CompositionController proporciona las mismas API que CoreWebView2Controller , pero también incluye las API para la representación basada en composición. |
Opciones de entorno |
Datos de usuario: administre la carpeta de datos de usuario (UDF), que es una carpeta en el equipo del usuario. La UDF contiene datos relacionados con la aplicación host y WebView2. Las aplicaciones WebView2 usan carpetas de datos de usuario para almacenar datos del explorador, como cookies, permisos y recursos almacenados en caché. Administrar varios perfiles en una sola UDF. La selección en tiempo de ejecución admite pruebas de versión preliminar y autohospedaje. Puede especificar un orden de búsqueda para los canales de vista previa del explorador y especificar qué canales de vista previa del explorador se buscan. |
Rendimiento y depuración | Analice y depure el rendimiento, controle eventos relacionados con el rendimiento y administre el uso de memoria para aumentar la capacidad de respuesta de la aplicación. |
Protocolo Chrome DevTools (CDP) | Instrumentar, inspeccionar, depurar y generar perfiles de exploradores basados en Chromium. El Protocolo Chrome DevTools (CDP) es la base de Microsoft Edge DevTools. Use el protocolo Chrome DevTools para las características que no se implementan en la plataforma WebView2. |
En esta página solo se enumeran las API que están en los SDK de versión; no enumera las API experimentales ni las API estables que aún no están disponibles en los SDK de versión. Para obtener una lista completa de las API, incluidas las API experimentales, consulte notas de la versión del SDK de WebView2.
Clases principales: Entorno, Controlador y Núcleo
Las CoreWebView2Environment
clases , CoreWebView2Controller
y CoreWebView2
(o interfaces equivalentes) funcionan juntas para que la aplicación pueda hospedar un control de explorador WebView2 y acceder a sus características del explorador. Estas tres clases grandes exponen una amplia gama de API a las que la aplicación host puede acceder para proporcionar muchas categorías de características relacionadas con el explorador para los usuarios.
- La
CoreWebView2Environment
clase representa un grupo de controles WebView2 que comparten el mismo proceso del explorador WebView2, la carpeta de datos de usuario y los procesos del representador. A partir de estaCoreWebView2Environment
clase, creará pares deCoreWebView2Controller
instancias eCoreWebView2
. - La
CoreWebView2Controller
clase es responsable de la funcionalidad relacionada con el hospedaje, como el foco de ventana, la visibilidad, el tamaño y la entrada, donde la aplicación hospeda el control WebView2. - La
CoreWebView2
clase es para los elementos específicos de la web del control WebView2, incluidas las redes, la navegación, el script y el análisis y la representación de HTML.
Vea también:
Interoperabilidad web/nativa
El control WebView2 de Microsoft Edge permite insertar contenido web en aplicaciones nativas. Puede comunicarse entre código nativo y código web mediante mensajes simples, código JavaScript y objetos nativos. A continuación se muestran las API principales para la comunicación entre código web y nativo.
Subsecciones a continuación:
- Uso compartido de objetos web o host
- Ejecución de scripts
- Mensajería web
- Cuadros de diálogo de script
- Búfer compartido
Casos de uso comunes para la interoperabilidad web/nativa:
- Actualice el título de la ventana de host nativa después de navegar a otro sitio web.
- Enviar un objeto de cámara nativo y usar sus métodos desde una aplicación web.
- Ejecute un archivo JavaScript dedicado en el lado web de una aplicación.
Vea también:
- Interoperabilidad del código nativo y del lado web
- Llamada a código del lado web desde código nativo
- Llamada a código de lado nativo desde código del lado web
- Llamada al código winRT del lado nativo desde el código del lado web
-
API de JavaScript en WebView2 para
window.chrome.webview
API de JavaScript
Uso compartido de objetos web o host
WebView2 permite que los objetos definidos en código nativo se pasen al código del lado web de la aplicación. Los objetos host son objetos definidos en código nativo que elija pasar al código del lado web de la aplicación.
Los objetos host se pueden proyectar en JavaScript, de modo que pueda llamar a métodos de objetos nativos (u otras API) desde el código del lado web de la aplicación. Por ejemplo, la aplicación puede llamar a estas API como resultado de la interacción del usuario en el lado web de la aplicación. De este modo, no es necesario volver a implementar las API de los objetos nativos, como métodos o propiedades, en el código del lado web.
-
CoreWebView2
Clase: -
CoreWebView2Settings
Clase:
Ejecución de scripts
Permite que la aplicación host agregue código JavaScript en el contenido web dentro del control WebView2.
-
CoreWebView2
Clase: - CoreWebView2ExecuteScriptResult (clase)
-
CoreWebView2Frame
Clase: - CoreWebView2ScriptException (clase)
-
CoreWebView2Settings
Clase:
Mensajería web
La aplicación puede enviar mensajes al contenido web que está dentro del control WebView2 y recibir mensajes de ese contenido web. Los mensajes se envían como cadenas u objetos JSON.
Opcionalmente, puede publicar y recibir objetos DOM junto con el mensaje, a través del additionalObjects
parámetro de PostWebMessageAsJson
(.NET, WinRT) o a través PostWebMessageAsJsonWithAdditionalObjects
de (Win32). La clase WebView2 CoreWebView2FileSystemHandle
representa el DOM FileSystemHandle
y CoreWebView2File
representa el DOM File
. Consulte también chrome.webview.postMessageWithAdditionalObjects
en la Referencia de JavaScript.
CoreWebView2
Clase:CoreWebView2Frame
Clase:CoreWebView2Settings
Clase:CoreWebView2Environment
Clase:CoreWebView2FileSystemHandle
Clase:Enumeración CoreWebView2FileSystemHandleKind
File
Directory
CoreWebView2FileSystemHandlePermission Enum
ReadOnly
ReadWrite
Cuadros de diálogo de script
Al hospedar WebView2, la aplicación puede administrar diferentes diálogos de JavaScript, suprimirlos o reemplazarlos por diálogos personalizados.
Búfer compartido
La API SharedBuffer admite el uso compartido de búferes entre el proceso de la aplicación host WebView2 y el proceso del representador de WebView2, en función de la memoria compartida del sistema operativo.
Vea también:
-
CoreWebView2
Clase: -
CoreWebView2Environment
Clase: -
CoreWebView2Frame
Clase: - CoreWebView2SharedBuffer (clase)
-
CoreWebView2SharedBufferAccess Enum
ReadOnly
ReadWrite
Características del explorador
El control WebView2 proporciona a la aplicación acceso a muchas características del explorador. Puede modificar estas características del explorador y activarlas o desactivarlas.
Subsecciones a continuación:
- Impresión
- Cookies
- Captura de imagen
- Descargas
- Guardar como
- Control de notificaciones web
- Permisos
- Menús contextuales
- Barra de estado
- Barras de desplazamiento de superposición fluidas
- Agente de usuario
- Autorrellenar
- Audio
- Pruebas de posicionamiento de clics del mouse en regiones
- Navegación de gestos de deslizar el dedo
- Habilitar o deshabilitar el explorador que responde a las teclas de aceleración (teclas de método abreviado)
- Pantalla completa
- Barra de herramientas de PDF
- Creación de temas
- Language
- Nueva ventana
- Cerrar ventana
- Título del documento
- Icono de favoritos
- Seguridad y privacidad
- Extensiones del explorador
Impresión
Puede imprimir una página web en una impresora, un archivo PDF o un flujo PDF configurando la configuración de impresión personalizada.
Vea también:
-
CoreWebView2
Clase: -
CoreWebView2Environment
Clase: - CoreWebView2PrintSettings (clase)
- Enumeración CoreWebView2PrintDialogKind
- Enumeración CoreWebView2PrintStatus
Cookies
Puede usar cookies en WebView2 para administrar sesiones de usuario, almacenar preferencias de personalización de usuario y realizar un seguimiento del comportamiento del usuario.
Vea también:
-
CoreWebView2
Clase: - CoreWebView2Cookie (clase)
- CoreWebView2CookieManager (clase)
-
CoreWebView2Profile
Clase:
Captura de imagen
Al hospedar WebView2, la aplicación puede capturar capturas de pantalla e indicar qué formato usar para guardar la imagen.
-
CoreWebView2
Clase:
Descargas
La aplicación puede administrar la experiencia de descarga en WebView2. La aplicación puede:
- Permitir o bloquear descargas basadas en metadatos diferentes.
- Cambie la ubicación de descarga.
- Configurar una interfaz de usuario de descarga personalizada.
- Personalice la interfaz de usuario predeterminada.
General:
-
CoreWebView2
Clase:
Modificar la experiencia predeterminada:
-
CoreWebView2
Clase: -
CoreWebView2Profile
Clase:
Experiencia de descarga personalizada:
Guardar como
Las API guardar como permiten realizar mediante programación la operación Guardar como . Puede usar estas API para bloquear el cuadro de diálogo Guardar como predeterminado y, a continuación, guardar en silencio o compilar su propia interfaz de usuario para Guardar como. Estas API pertenecen solo al cuadro de diálogo Guardar como , no al cuadro de diálogo Descargar , que usa las API de descarga.
CoreWebView2
Clase:Enumeración CoreWebView2SaveAsKind
Complete
Default
HtmlOnly
SingleFile
CoreWebView2SaveAsUIResult Enum
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs (clase)
- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.Cancel (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.Kind (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog (propiedad)
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral (Método)
Configurar la advertencia de seguridad al guardar un archivo
Al escuchar el evento, la SaveFileSecurityCheckStarting
aplicación puede registrar un controlador en este evento para obtener la ruta de acceso del archivo, la extensión de nombre de archivo y la información del URI de origen del documento. A continuación, puede aplicar sus propias reglas para realizar acciones como las siguientes:
- Permite guardar el archivo sin presentar una interfaz de usuario de advertencia de seguridad predeterminada sobre la directiva de tipo de archivo.
- Cancele el guardado.
- Cree su propia interfaz de usuario para administrar las directivas de tipo de archivo en tiempo de ejecución.
CoreWebView2
Clase:CoreWebView2SaveFileSecurityCheckStartingEventArgs (clase)
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave (propiedad)
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri (propiedad)
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension (propiedad)
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath (propiedad)
- Propiedad CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral (Método)
Control de notificaciones web
Las API de notificación web admiten notificaciones no persistentes. El NotificationReceived
evento para CoreWebView2
controla el control de notificaciones web, lo que permite la personalización o supresión por parte de la aplicación host. Las notificaciones no controladas se establecen de forma predeterminada en la interfaz de usuario de WebView2.
CoreWebView2
Clase:CoreWebView2Notification (clase)
- Propiedad CoreWebView2Notification.BadgeUri
- Propiedad CoreWebView2Notification.Body
- Propiedad CoreWebView2Notification.BodyImageUri
- Propiedad CoreWebView2Notification.Direction
- Propiedad CoreWebView2Notification.IconUri
- Propiedad CoreWebView2Notification.IsSilent
- Propiedad CoreWebView2Notification.Language
- Propiedad CoreWebView2Notification.RequiresInteraction
- Propiedad CoreWebView2Notification.ShouldRenotify
- Propiedad CoreWebView2Notification.Tag
- Propiedad CoreWebView2Notification.Timestamp
- Propiedad CoreWebView2Notification.Title
- Propiedad CoreWebView2Notification.VibrationPattern
- Método CoreWebView2Notification.ReportClicked
- Método CoreWebView2Notification.ReportClosed
- Método CoreWebView2Notification.ReportShown
- Evento CoreWebView2Notification.CloseRequested
CoreWebView2TextDirectionKind Enum
Default
LeftToRight
RightToLeft
Permissions
Es posible que distintas páginas web le pidan permisos para acceder a algunos recursos con privilegios, como el sensor de geolocalización, la cámara y el micrófono. La aplicación host puede responder mediante programación a las solicitudes de permisos y puede reemplazar la interfaz de usuario de permisos predeterminada por su propia interfaz de usuario.
-
CoreWebView2
Clase: -
CoreWebView2Frame
Clase: - Enumeración CoreWebView2PermissionKind
-
CoreWebView2PermissionRequestedEventArgs
Clase: - CoreWebView2PermissionSetting (clase)
-
CoreWebView2Profile
Clase:
Menús contextuales
El control WebView2 proporciona un menú contextual predeterminado (menú contextual) que puede personalizar o deshabilitar, y también puede crear su propio menú contextual.
Vea también:
-
CoreWebView2
Clase: - CoreWebView2ContextMenuItem (clase)
- CoreWebView2ContextMenuRequestedEventArgs (clase)
- CoreWebView2ContextMenuTarget (clase)
-
CoreWebView2Environment
Clase: -
CoreWebView2Settings
Clase:
Barra de estado
Una barra de estado se encuentra en la parte inferior izquierda de la página y muestra el estado de la página web que se muestra. En WebView2 puede habilitar o deshabilitar la barra de estado, obtener el texto de la barra de estado y averiguar cuándo ha cambiado el texto de la barra de estado.
-
CoreWebView2
Clase: -
CoreWebView2Settings
Clase:
Barras de desplazamiento de superposición fluidas
Estiliza las barras de desplazamiento con el diseño de Microsoft Fluent y hace que las barras de desplazamiento se superpongan sobre el contenido web. Este diseño de barra de desplazamiento adaptable se ajusta a varios dispositivos y tamaños de ventana.
Para experimentar con las barras de desplazamiento de superposición de Fluent, en Microsoft Edge, vaya a edge://flags
y escriba barras de desplazamiento de superposición de Fluent.
Vea también:
- Marcas -
msEdgeFluentOverlayScrollbar
del explorador WebView2 ymsOverlayScrollbarWinStyle
marcas.
CoreWebView2EnvironmentOptions
Clase:Enumeración CoreWebView2ScrollbarStyle
Default
FluentOverlay
Agente de usuario
El agente de usuario es una cadena que representa la identidad del programa en nombre del usuario, como el nombre del explorador. En WebView2, puede establecer el agente de usuario.
Vea también:
- Detección de Windows 11 mediante sugerencias de cliente de User-Agent
- Invalidar la cadena del agente de usuario
-
CoreWebView2Settings
Clase:
Autorrellenar
La aplicación puede controlar de forma independiente si la funcionalidad de autorrellenar del explorador está habilitada para obtener información general o para contraseñas.
-
CoreWebView2Settings
Clase:
Audio
La aplicación puede silenciar y desactivar todo el audio, y averiguar cuándo se reproduce el audio.
Pruebas de posicionamiento de clics del mouse en regiones
Proporciona resultados de pruebas de posicionamiento en las regiones que contiene Un WebView2. Útil para aplicaciones hospedadas visualmente que quieren controlar eventos del mouse en el área no cliente de la ventana WebView2.
CoreWebView2CompositionController
Clase:CoreWebView2NonClientRegionChangedEventArgs
Clase:CoreWebView2NonClientRegionKind Enum
Caption
Client
Nowhere
CoreWebView2Settings
Clase:
Navegación de gestos de deslizar el dedo
Al hospedar el control WebView2, la aplicación puede habilitar o deshabilitar la navegación por gestos de deslizamiento en dispositivos táctiles habilitados para entrada. Este gesto permite a los usuarios finales:
- Deslice el dedo hacia la izquierda o la derecha (deslice horizontalmente) para ir a la página anterior o siguiente del historial de navegación.
- Extraiga para actualizar (deslizar verticalmente) la página actual.
Esta característica está deshabilitada actualmente de forma predeterminada en el explorador. Para habilitar esta característica en WebView2, establezca la AdditionalBrowserArguments
propiedad y especifique el --pull-to-refresh
modificador .
-
CoreWebView2Settings
Clase: -
CoreWebView2EnvironmentOptions
Clase:
Habilitar o deshabilitar el explorador que responde a las teclas de aceleración (teclas de método abreviado)
ICoreWebView2AcceleratorKeyPressedEventArgs
tiene una IsBrowserAcceleratorKeyEnabled
propiedad que le permite controlar si el explorador controla las teclas de aceleración (teclas de método abreviado), como Ctrl+P o F3.
Vea también:
- Aceleradores de teclado, a continuación.
-
CoreWebView2AcceleratorKeyPressedEventArgs
Clase:
Pantalla completa
En WebView2, puede averiguar cuándo un elemento HTML entra o sale de la vista de pantalla completa.
Barra de herramientas de PDF
En el visor de PDF del explorador, hay una barra de herramientas específica de PDF en la parte superior. En WebView2, puede ocultar algunos de los elementos de la barra de herramientas del visor de PDF.
-
CoreWebView2Settings
Clase:
Creación de temas
En WebView2, puede personalizar el tema de color como sistema, claro u oscuro.
-
CoreWebView2Profile
Clase:
Idioma
La Language
propiedad establece el idioma de presentación predeterminado para WebView2 que se aplica a la interfaz de usuario del explorador (como menús contextuales y diálogos), junto con la configuración del accept-language
encabezado HTTP que WebView2 envía a los sitios web.
La ScriptLocale
propiedad permite a la aplicación host establecer la configuración regional predeterminada para todas las Intl
API de JavaScript y otras API de JavaScript que dependen de ella, como Intl.DateTimeFormat()
, lo que afecta al formato de cadena en formatos de fecha y hora.
-
CoreWebView2EnvironmentOptions
Clase: -
CoreWebView2ControllerOptions
Clase:
Nueva ventana
WebView2 proporciona funcionalidad para controlar la función window.open()
de JavaScript .
Cerrar ventana
WebView2 proporciona funcionalidad para controlar la función window.close()
de JavaScript .
-
CoreWebView2
Clase: -
CoreWebView2Controller
Clase:
Título del documento
La aplicación puede detectar cuándo ha cambiado el título del documento de nivel superior actual.
-
CoreWebView2
Clase:
Icono de favoritos
En WebView2, puede establecer un Icono de favoritos para un sitio web o recibir una notificación cuando cambie.
-
CoreWebView2
Clase:
Seguridad y privacidad
Seguimiento de la prevención
La prevención de seguimiento permite a la aplicación host controlar el nivel de prevención de seguimiento del control WebView2 asociado al perfil de usuario.
-
CoreWebView2EnvironmentOptions
Clase: -
CoreWebView2Profile
Clase: -
Enumeración CoreWebView2TrackingPreventionLevel
None
Basic
Balanced
Strict
SmartScreen
Microsoft Defender SmartScreen ("SmartScreen") está habilitado de forma predeterminada. La IsReputationCheckingRequired
propiedad controla si SmartScreen está habilitado.
Si no deshabilita SmartScreen, debe notificar a todos los usuarios que el software incluye Microsoft Defender SmartScreen, y recopila y envía la información del usuario a Microsoft, tal y como se indica en la Declaración de privacidad de Microsoft y en smartscreen en las notas del producto de privacidad de Microsoft Edge.
Vea también:
- SmartScreen en Datos y privacidad en WebView2.
-
CoreWebView2Settings
Clase:
Informes de bloqueo personalizados
Si algún proceso WebView2 se bloquea, se crean uno o varios archivos de minivolcado y se envían a Microsoft para su diagnóstico. Use esta API para personalizar los informes de bloqueo al ejecutar diagnósticos y realizar análisis.
- Para evitar que se envíen volcados de memoria a Microsoft, establezca la
IsCustomCrashReportingEnabled
propiedadfalse
en . - Para buscar volcados de memoria y personalizarlos, use la
CrashDumpFolderPath
propiedad .
Vea también:
- Informes de bloqueo personalizados en Datos y privacidad en WebView2.
- Minidump Files
-
CoreWebView2EnvironmentOptions
Clase: -
CoreWebView2Environment
Clase:
Extensiones del explorador
La aplicación puede insertar un control WebView2 que use extensiones de explorador (complementos). Una extensión de Microsoft Edge es una aplicación pequeña que los desarrolladores usan para agregar o modificar características de Microsoft Edge para mejorar la experiencia de exploración de un usuario.
Vea también:
CoreWebView2EnvironmentOptions
Clase:CoreWebView2Profile
Clase:
Administración de procesos
Obtenga información sobre cómo ejecutar procesos de WebView2, salir de procesos y procesos con errores, para que la aplicación pueda tomar medidas en consecuencia.
Subsecciones a continuación:
-
CoreWebView2
Clase: - CoreWebView2BrowserProcessExitedEventArgs (clase)
-
CoreWebView2Environment
Clase: - CoreWebView2ProcessFailedEventArgs (clase)
- CoreWebView2ProcessFailedKind Enum
- CoreWebView2ProcessFailedReason Enum
- CoreWebView2ProcessInfo (clase)
Información del proceso de marco
Frame Process Info API, incluido GetProcessExtendedInfos
, proporciona una colección de instantáneas de todos los fotogramas que se ejecutan activamente en el proceso del representador asociado. Esta API permite que la aplicación detecte qué parte de WebView2 consume recursos, como memoria o uso de CPU.
CoreWebView2Environment
Clase:CoreWebView2ProcessExtendedInfo
Clase:CoreWebView2
Clase:CoreWebView2Frame
Clase:CoreWebView2FrameInfo
Clase:
Navegar a páginas y administrar el contenido cargado
A través del control WebView2, la aplicación puede administrar la navegación a páginas web y administrar el contenido cargado en las páginas web.
Subsecciones a continuación:
- Administración del contenido cargado en WebView2
- Historial de navegación
- Tipo de navegación
- Bloquear navegación no deseada
- Eventos de navegación
- Administración de solicitudes de red en WebView2
- Registro de esquema personalizado
- Certificados de cliente
- Certificados de servidor
- Inicio de un esquema de URI externo
Administración del contenido cargado en WebView2
Estas API cargan, detienen la carga y recargan contenido en WebView2. El contenido que se carga puede ser:
- Contenido de una dirección URL.
- Cadena de HTML.
- Contenido local a través del nombre de host virtual a la asignación de carpetas locales.
- Contenido de una solicitud de red construida.
Vea también:
-
CoreWebView2
Clase:- CoreWebView2.ClearVirtualHostNameToFolderMapping (Método)
- Método CoreWebView2.Navigate
- Método CoreWebView2.NavigateToString
- Método CoreWebView2.NavigateWithWebResourceRequest
- Método CoreWebView2.Reload
- CoreWebView2.SetVirtualHostNameToFolderMapping (Método)
- Método CoreWebView2.Stop
- Evento CoreWebView2.WebResourceRequested
-
CoreWebView2Settings
Clase:
Historial de navegación
Los métodos de historial permiten la navegación hacia atrás y hacia delante en WebView2, y los eventos de historial proporcionan información sobre los cambios en el historial y en el origen actual de WebView2.
Tipo de navegación
NavigationKind
obtiene el tipo de navegación de cada navegación, como Back/Forward, Reload o navigation to a new document.
-
CoreWebView2NavigationStartingEventArgs
Clase: - CoreWebView2NavigationKind Enum
Bloquear navegación no deseada
El NavigationStarting
evento permite que la aplicación cancele la navegación a direcciones URL especificadas en WebView2, incluidos los fotogramas.
-
CoreWebView2
Clase:- Evento CoreWebView2.NavigationStarting
-
Evento CoreWebView2.FrameNavigationStarting : reemplazado; usar
CoreWebView2Frame.NavigationStarting
en su lugar
-
CoreWebView2Frame
Clase: - CoreWebView2NavigationStartingEventArgs (clase)
Eventos de navegación
Con NavigationStarting
y los demás eventos de navegación, se puede informar a la aplicación del estado de navegación en WebView2. Una navegación es el proceso para cargar una nueva dirección URL.
Vea también:
-
CoreWebView2
Clase:- Evento CoreWebView2.ContentLoading
- Evento CoreWebView2.DOMContentLoaded
-
Evento CoreWebView2.FrameNavigationCompleted : reemplazado; use
CoreWebView2Frame.NavigationCompleted
en su lugar. - Evento CoreWebView2.NavigationCompleted
- CoreWebView2ContentLoadingEventArgs (clase)
- CoreWebView2DOMContentLoadedEventArgs (clase)
-
CoreWebView2Frame
Clase: - CoreWebView2NavigationCompletedEventArgs (clase)
Administración de solicitudes de red en WebView2
El WebResourceRequested
evento permite a la aplicación interceptar e invalidar todas las solicitudes de red en WebView2. El WebResourceResponseReceived
evento permite a la aplicación supervisar la solicitud enviada a y la respuesta recibida de la red.
Vea también:
CoreWebView2
Clase:
Registro de esquema personalizado
CustomSchemeRegistration
permite el registro de esquemas personalizados en WebView2 para que la aplicación pueda controlar el WebResourceRequested
evento de las solicitudes a esas direcciones URL de esquema personalizado y navegar por WebView2 a dichas direcciones URL.
- CoreWebView2CustomSchemeRegistration (clase)
-
CoreWebView2EnvironmentOptions
Clase:
Certificados de cliente
En WebView2, puede usar la API de certificado de cliente para seleccionar el certificado de cliente en el nivel de aplicación. Esta API le permite:
- Mostrar una interfaz de usuario al usuario, si lo desea.
- Reemplace el símbolo del diálogo de certificado de cliente predeterminado.
- Consulte mediante programación los certificados.
- Seleccione un certificado de la lista para responder al servidor, cuando WebView2 realiza una solicitud a un servidor HTTP que necesita un certificado de cliente para la autenticación HTTP.
Certificados de servidor
En WebView2, puede usar server certificate API para confiar en el certificado TLS del servidor en el nivel de aplicación. De este modo, la aplicación host puede representar la página sin preguntar al usuario sobre el error de TLS, o bien la aplicación host puede cancelar automáticamente la solicitud.
Inicio de un esquema de URI externo
Inicie un esquema de URI que esté registrado con el sistema operativo.
-
CoreWebView2
Clase: -
CoreWebView2LaunchingExternalUriSchemeEventArgs (clase)
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel (propiedad)
- CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin (propiedad)
- CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated (propiedad)
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri (propiedad)
- CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral (Método)
iframes
Los iframes le permiten insertar otras páginas web en su propia página web. En WebView2, puede:
- Averigüe cuándo se crean los iframes.
- Averigüe cuándo navegan los iframes.
- Permitir la omisión de opciones de marco X.
Vea también:
Autenticación
La aplicación puede controlar la autenticación básica mediante el control WebView2. La autenticación básica es un enfoque de autenticación específico que forma parte del protocolo HTTP.
Vea también:
Representación de WebView2 en aplicaciones que no son de marco
Use estas API para configurar el sistema de representación WebView2 si la aplicación host no usa un marco de interfaz de usuario. Esta configuración de representación controla cómo WebView2 representa la salida en la aplicación host y cómo WebView2 controla la entrada, el foco y la accesibilidad.
Cuándo usar estas API
Marco de interfaz de usuario: si usa un marco de interfaz de usuario para la aplicación, debe usar el elemento WebView2 proporcionado por ese marco de interfaz de usuario, en lugar de usar estas API.
Sin marco de interfaz de usuario y no usando Composition : si no usa un marco de interfaz de usuario para la aplicación (por ejemplo, si usa win32 puro directamente) o si el marco de interfaz de usuario no tiene un elemento WebView2, deberá crearlo
CoreWebView2Controller
y representarlo en la aplicación, mediante estas API en esta sección.Sin marco de interfaz de usuario y con Composition : si la interfaz de usuario de la aplicación se compila con DirectComposition o Windows.UI.Composition, debe usar
CoreWebView2CompositionController
en lugar de usar estas API; consulte Representación de WebView2 con Composition, a continuación.
Subsecciones a continuación:
- Dimensionamiento, posicionamiento y visibilidad
- Zoom
- Escala de rasterización
- Enfoque y tabulación
- Ventana principal
- Aceleradores de teclado
- Color de fondo predeterminado
-
CoreWebView2Controller
Clase: -
CoreWebView2Environment
Clase:
Dimensionamiento, posicionamiento y visibilidad
CoreWebView2Controller
toma un elemento primario HWND
. La Bounds
propiedad cambia de tamaño y coloca webView2 en relación con el elemento primario HWND
. La visibilidad de WebView2 se puede alternar mediante IsVisible
.
-
CoreWebView2Controller
Clase:
Zoom
WebView2 ZoomFactor
se usa para escalar solo el contenido web de la ventana. El escalado de la interfaz de usuario también se actualiza cuando el usuario acerca el contenido presionando Ctrl mientras gira la rueda del mouse.
-
CoreWebView2Controller
Clase: -
CoreWebView2Settings
Clase:
Escala de rasterización
RasterizationScale API escala toda la interfaz de usuario de WebView2, incluidos los menús contextuales, la información sobre herramientas y los elementos emergentes. La aplicación puede establecer si WebView2 debe detectar los cambios de escala del monitor y actualizar automáticamente RasterizationScale.
BoundsMode
se usa para configurar si la propiedad Bounds se interpreta como píxeles sin procesar o DIP (que debe escalar RasterizationScale
).
Enfoque y tabulación
El control WebView2 genera eventos para que la aplicación sepa cuándo el control obtiene el foco o pierde el foco. Para la tabulación (al presionar la tecla Tab ), hay una API para mover el foco a WebView2 y un evento para WebView2 para solicitar que la aplicación vuelva a centrarse.
Ventana principal
WebView2 se puede volver a asignar a un identificador de ventana principal diferente (HWND
). WebView2 también debe recibir una notificación cuando la posición de la aplicación en la pantalla ha cambiado.
-
CoreWebview2Controller
Clase:
Aceleradores de teclado
Cuando WebView2 tiene el foco, recibe directamente la entrada del usuario. Es posible que una aplicación quiera interceptar y controlar determinadas combinaciones de teclas de aceleración (teclas de método abreviado) o deshabilitar los comportamientos normales de las teclas de aceleración del explorador.
Consulte también Habilitar o deshabilitar el explorador que responde a las teclas de aceleración (teclas de método abreviado) anterior.
- CoreWebView2AcceleratorKeyPressedEventArgs (clase)
-
CoreWebView2Controller
Clase: -
CoreWebView2Settings
Clase:
Color de fondo predeterminado
WebView2 puede especificar un color de fondo predeterminado. El color puede ser cualquier color opaco o transparente. Este color se usará si la página HTML no establece su propio color de fondo.
-
CoreWebView2Controller
Clase:
Representación de WebView2 mediante Composition
Para la representación webView2 basada en composición, use CoreWebView2Environment
para crear un CoreWebView2CompositionController
objeto .
CoreWebView2CompositionController
proporciona las mismas API que CoreWebView2Controller
, pero también incluye las API para la representación basada en composición.
Subsecciones a continuación:
- CoreWebView2CompositionController (clase)
-
CoreWebView2Environment
Clase:
Conexión al árbol visual
WebView2 puede conectar su árbol de composición a un IDCompositionVisual, IDCompositionTarget o Windows::UI::Composition::ContainerVisual
.
-
CoreWebView2CompositionController
Clase:
Entrada de reenvío
La aplicación recibe la entrada espacial (mouse, touch, pen) y debe enviarse a WebView2. WebView2 notifica a la aplicación cuándo se debe actualizar el cursor en función de la posición del mouse.
-
CoreWebView2CompositionController
Clase: -
CoreWebView2Environment
Clase: - CoreWebView2PointerInfo (clase)
Arrastrar y colocar
De forma predeterminada, se admite el arrastre desde un control WebView2 a otra aplicación. Sin embargo, arrastrar a un control WebView2 requiere que cuando la aplicación host reciba un IDropTarget
evento del sistema, la aplicación host debe reenviar el evento al control WebView2. Arrastrar a un control WebView2 incluye operaciones de arrastrar y colocar que se encuentran completamente dentro de un control WebView2.
Use las siguientes API para reenviar IDropTarget
eventos desde el sistema al control WebView2.
-
CoreWebView2CompositionController
Clase:
Accesibilidad
De forma predeterminada, WebView2 se mostrará en el árbol de accesibilidad como elemento secundario del HWND primario, para aplicaciones Win32/C++. WebView2 proporciona api para posicionar mejor el contenido de WebView2 con respecto a otros elementos de la aplicación.
Opciones de entorno
Subsecciones a continuación:
Datos de usuario
Administre la carpeta de datos de usuario (UDF), que es una carpeta en el equipo del usuario. La UDF contiene datos relacionados con la aplicación host y WebView2. Las aplicaciones WebView2 usan carpetas de datos de usuario para almacenar datos del explorador, como cookies, permisos y recursos almacenados en caché.
Subsecciones a continuación:
Vea también:
- Administrar carpetas de datos de usuario
- Borrar datos de exploración de la carpeta de datos de usuario
-
CoreWebView2Environment
Clase: -
CoreWebView2EnvironmentOptions
Clase:
Borrar datos de exploración:
-
CoreWebView2Profile
Clase: - Enumeración CoreWebView2BrowsingDataKinds
Varios perfiles
Administre varios perfiles en una sola carpeta de datos de usuario.
Vea también:
Cree un objeto de opciones que defina un perfil:
-
CoreWebView2Environment
Clase: - CoreWebView2ControllerOptions (clase)
Cree un control WebView2 que use el perfil:
-
CoreWebView2Environment
Clase:
Acceso y manipulación del perfil:
-
CoreWebView2
Clase: - CoreWebView2Profile (clase)
Eliminar un perfil
La aplicación puede eliminar perfiles de usuario para un control de explorador web WebView2.
Vea también:
-
CoreWebView2Profile
Clase:
Selección en tiempo de ejecución
La selección en tiempo de ejecución admite pruebas de versión preliminar y autohospedaje. Al crear un entorno WebView2:
- Para especificar un orden de búsqueda para los canales de vista previa del explorador, use la
CoreWebView2EnvironmentOptions.ChannelSearchKind
propiedad . - Para especificar qué canales de vista previa del explorador se buscan, use la
CoreWebView2EnvironmentOptions.ReleaseChannels
propiedad .
Vea también:
- Probar las próximas API y características
- Pruebas preliminares mediante canales de versión preliminar
- Autohospedado mediante la implementación de canales en versión preliminar
CoreWebView2EnvironmentOptions
Clase:Enumeración CoreWebView2ChannelSearchKind
MostStable
LeastStable
Enumeración CoreWebView2ReleaseChannels
None
Stable
Beta
Dev
Canary
Rendimiento y depuración
Analice y depure el rendimiento, controle eventos relacionados con el rendimiento y administre el uso de memoria para aumentar la capacidad de respuesta de la aplicación.
Subsecciones a continuación:
Destino de uso de memoria
Especifica los niveles de consumo de memoria, como low
o normal
.
Protocolo Chrome DevTools (CDP)
El protocolo Chrome DevTools (CDP) proporciona API para instrumentar, inspeccionar, depurar y generar perfiles de exploradores basados en Chromium. El protocolo Chrome DevTools es la base de Microsoft Edge DevTools. Use el protocolo Chrome DevTools para las características que no se implementan en la plataforma WebView2.
Vea también:
Abrir:
-
CoreWebView2Settings
Clase: -
CoreWebView2
Clase:
Llamar:
-
CoreWebView2
Clase:
Receptor:
Vea también
- Introducción a Microsoft Edge WebView2
- Referencia de api de WebView2 : vínculos de referencia de API para plataformas y lenguajes adicionales, como WinRT/C++ (COM).