Descrição geral das funcionalidades e APIs do WebView2
Incorporar o controlo WebView2 na sua aplicação dá à sua aplicação acesso a vários métodos e propriedades que são fornecidos através das classes ou interfaces WebView2. O WebView2 tem centenas de APIs que fornecem um vasto conjunto de capacidades, desde melhorar as capacidades de plataforma nativa da sua aplicação até permitir que a sua aplicação modifique as experiências do browser. Este artigo fornece um agrupamento de alto nível das APIs webView2 para o ajudar a compreender as diferentes coisas que pode fazer com o WebView2.
Descrição geral das áreas de funcionalidades de nível superior
Ao alojar o controlo WebView2, a sua aplicação tem acesso às seguintes funcionalidades e APIs:
Área de recurso | Objetivo |
---|---|
Classes principais: Ambiente, Controlador e Núcleo | As CoreWebView2Environment classes , CoreWebView2Controller e CoreWebView2 (ou interfaces equivalentes) funcionam em conjunto para que a sua aplicação possa alojar um controlo de browser WebView2 e aceder às respetivas funcionalidades do browser. Estas classes grandes expõem uma vasta gama de APIs às quais a sua aplicação anfitriã pode aceder para fornecer as categorias abaixo de funcionalidades relacionadas com o browser para os seus utilizadores. |
Interoperabilidade Web/nativa | Incorporar conteúdo Web em aplicações nativas. Comunique entre código nativo e código Web com mensagens simples, código JavaScript e objetos nativos. |
Recursos do navegador | O controlo WebView2 dá à sua aplicação acesso a muitas funcionalidades do browser. Pode modificar estas funcionalidades do browser e ativá-las ou desativá-las. |
Gestão de processos | Obtenha informações sobre a execução de processos WebView2, a saída de processos e processos falhados, para que a sua aplicação possa tomar medidas em conformidade. |
Navegar para páginas e gerir conteúdo carregado | Faça a gestão da navegação para páginas Web e faça a gestão de conteúdos carregados nas páginas Web. |
iframes | Incorpore outras páginas Web na sua própria página Web. Detete quando são criadas páginas Web incorporadas, detete quando as páginas Web incorporadas estão a navegar e, opcionalmente, ignore as opções de moldura x. |
Autenticação | A sua aplicação pode processar a autenticação básica com o controlo WebView2. A autenticação básica é uma abordagem de autenticação específica que faz parte do protocolo HTTP. |
Compor o WebView2 em aplicações não estruturais | Utilize estas APIs para configurar o sistema de composição WebView2 se a sua aplicação anfitriã não utilizar uma arquitetura de IU. Esta configuração de composição controla a forma como o WebView2 compõe a saída na sua aplicação anfitriã e como o WebView2 processa a entrada, o foco e a acessibilidade. |
Compor WebView2 com Composição | Para composição webView2 baseada em composição, utilize CoreWebView2Environment para criar um CoreWebView2CompositionController .
CoreWebView2CompositionController fornece as mesmas APIs que CoreWebView2Controller , mas também inclui APIs para composição baseada em composição. |
Opções de ambiente |
Dados do utilizador: faça a gestão da pasta de dados do utilizador (UDF), que é uma pasta no computador do utilizador. A UDF contém dados relacionados com a aplicação anfitriã e o WebView2. As aplicações WebView2 utilizam pastas de dados de utilizador para armazenar dados do browser, como cookies, permissões e recursos em cache. Gerir múltiplos perfis numa única UDF. A seleção de runtime suporta testes de pré-lançamento e autoalojador. Pode especificar uma ordem de pesquisa para canais de pré-visualização do browser e especificar os canais de pré-visualização do browser que são procurados. |
Desempenho e depuração | Analise e depure o desempenho, processe eventos relacionados com o desempenho e faça a gestão da utilização da memória para aumentar a capacidade de resposta da sua aplicação. |
Protocolo CDP (Chrome DevTools Protocol) | Instrumente, inspecione, depure e crie perfis Chromium browsers baseados em Chromium. O Protocolo CDP (Chrome DevTools Protocol) é a base para as DevTools do Microsoft Edge. Utilize o Protocolo DevTools do Chrome para funcionalidades que não estão implementadas na plataforma WebView2. |
Esta página lista apenas as APIs que estão nos SDKs de Versão; não lista APIs Experimentais ou APIs Estáveis que ainda não estão disponíveis nos SDKs de Versão. Para obter uma lista abrangente de APIs, incluindo APIs Experimentais, veja Release Notes for the WebView2 SDK (Notas de Versão do SDK WebView2).
Classes principais: Ambiente, Controlador e Núcleo
As CoreWebView2Environment
classes , CoreWebView2Controller
e CoreWebView2
(ou interfaces equivalentes) funcionam em conjunto para que a sua aplicação possa alojar um controlo de browser WebView2 e aceder às respetivas funcionalidades do browser. Estas três classes grandes expõem uma vasta gama de APIs às quais a sua aplicação anfitriã pode aceder para fornecer várias categorias de funcionalidades relacionadas com o browser aos seus utilizadores.
- A
CoreWebView2Environment
classe representa um grupo de controlos WebView2 que partilham o mesmo processo de browser WebView2, pasta de dados do utilizador e processos de composição. A partir destaCoreWebView2Environment
classe, vai criar pares deCoreWebView2Controller
eCoreWebView2
instâncias. - A
CoreWebView2Controller
classe é responsável por funcionalidades relacionadas com o alojamento, como o foco da janela, visibilidade, tamanho e entrada, onde a sua aplicação aloja o controlo WebView2. - A
CoreWebView2
classe destina-se às partes específicas da Web do controlo WebView2, incluindo rede, navegação, script e análise e composição de HTML.
Veja também:
Interoperabilidade Web/nativa
O controlo WebView2 do Microsoft Edge permite-lhe incorporar conteúdo Web em aplicações nativas. Pode comunicar entre código nativo e código Web através de mensagens simples, código JavaScript e objetos nativos. Seguem-se as APIs main para comunicar entre a Web e o código nativo.
Subsecções abaixo:
- Partilha de objetos Anfitrião/Web
- Execução de scripts
- Mensagens Web
- Caixas de diálogo de script
- Memória intermédia partilhada
Casos de utilização comuns para interops web/nativos:
- Atualize o título da janela do anfitrião nativo depois de navegar para um site diferente.
- Envie um objeto de câmara nativo e utilize os respetivos métodos a partir de uma aplicação Web.
- Execute um ficheiro JavaScript dedicado no lado Web de uma aplicação.
Veja também:
- Interop of native-side and web-side code (Interop of native-side and web-side code)
- Chamar código do lado da Web a partir de código do lado nativo
- Chamar código do lado nativo a partir do código do lado da Web
- Chamar código WinRT do lado nativo a partir de código do lado da Web
-
APIs JavaScript no WebView2 para
window.chrome.webview
APIs JavaScript
Partilha de objetos Anfitrião/Web
O WebView2 permite que os objetos definidos no código nativo sejam transmitidos para o código do lado da Web da sua aplicação. Os objetos de anfitrião são quaisquer objetos definidos no código nativo que optar por transmitir para o código do lado da Web da sua aplicação.
Os objetos anfitriões podem ser projetados em JavaScript, para que possa chamar métodos de objeto nativo (ou outras APIs) a partir do código do lado da Web da sua aplicação. Por exemplo, a sua aplicação pode chamar essas APIs como resultado da interação do utilizador no lado da Web da sua aplicação. Desta forma, não precisa de reimplementar as APIs dos objetos nativos, como métodos ou propriedades, no código do lado da Web.
-
CoreWebView2
Classe: -
CoreWebView2Settings
Classe:
Execução de scripts
Permite que a aplicação anfitriã adicione código JavaScript no conteúdo Web no controlo WebView2.
-
CoreWebView2
Classe: - Classe CoreWebView2ExecuteScriptResult
-
CoreWebView2Frame
Classe: - Classe CoreWebView2ScriptException
-
CoreWebView2Settings
Classe:
Mensagens Web
A sua aplicação pode enviar mensagens para o conteúdo Web que está dentro do controlo WebView2 e receber mensagens desse conteúdo Web. As mensagens são enviadas como cadeias de carateres ou objetos JSON.
Opcionalmente, pode publicar e receber objetos DOM juntamente com a sua mensagem, através do additionalObjects
parâmetro ( PostWebMessageAsJson
.NET, WinRT) ou através PostWebMessageAsJsonWithAdditionalObjects
do (Win32). A classe WebView2 CoreWebView2FileSystemHandle
representa o DOM FileSystemHandle
e CoreWebView2File
representa o DOM File
. Veja também chrome.webview.postMessageWithAdditionalObjects
na Referência javaScript.
CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2Settings
Classe:CoreWebView2Environment
Classe:CoreWebView2FileSystemHandle
Classe:CoreWebView2FileSystemHandleKind Enum
File
Directory
CoreWebView2FileSystemHandlePermission Enum
ReadOnly
ReadWrite
Caixas de diálogo de script
Ao alojar o WebView2, a sua aplicação pode gerir diferentes caixas de diálogo JavaScript, suprimi-las ou substituí-las por caixas de diálogo personalizadas.
-
CoreWebView2
Classe: - Classe CoreWebView2ScriptDialogOpeningEventArgs
Memória intermédia partilhada
A API SharedBuffer suporta a partilha de memórias intermédias entre o processo da aplicação anfitriã WebView2 e o processo do compositor WebView2, com base na memória partilhada do SO.
Veja também:
-
CoreWebView2
Classe: -
CoreWebView2Environment
Classe: -
CoreWebView2Frame
Classe: - Classe CoreWebView2SharedBuffer
-
CoreWebView2SharedBufferAccess Enum
ReadOnly
ReadWrite
Recursos do navegador
O controlo WebView2 dá à sua aplicação acesso a muitas funcionalidades do browser. Pode modificar estas funcionalidades do browser e ativá-las ou desativá-las.
Subsecções abaixo:
- Impressão
- Cookies
- Captura de imagem
- Downloads
- Guardar como
- Processamento de notificações Web
- Permissões
- Menus de contexto
- Barra de status
- Barras de deslocamento fluentes sobrepostas
- Agente do Usuário
- Preenchimento automático
- Áudio
- Testar os cliques do rato em regiões
- Percorrer navegação com gestos
- Ativar ou desativar a resposta do browser às teclas de acelerador (teclas de atalho)
- Ecrã inteiro
- Barra de ferramentas de PDF
- Temas
- Idioma
- Nova janela
- Fechar janela
- Título do documento
- Favicon
- Segurança e privacidade
- Extensões do navegador
Impressão
Pode imprimir uma página Web numa impressora, ficheiro PDF ou fluxo de PDF ao configurar definições de impressão personalizadas.
Veja também:
-
CoreWebView2
Classe: -
CoreWebView2Environment
Classe: - Classe CoreWebView2PrintSettings
- CoreWebView2PrintDialogKind Enumeração
- CoreWebView2PrintStatus Enum
Cookies
Pode utilizar cookies no WebView2 para gerir sessões de utilizador, armazenar preferências de personalização de utilizadores e controlar o comportamento dos utilizadores.
Veja também:
-
CoreWebView2
Classe: - Classe CoreWebView2Cookie
- Classe CoreWebView2CookieManager
-
CoreWebView2Profile
Classe:
Captura de imagem
Ao alojar o WebView2, a sua aplicação pode capturar capturas de ecrã e indicar o formato a utilizar para guardar a imagem.
-
CoreWebView2
Classe:
Controlar se a IU de captura de ecrã é apresentada
O ScreenCaptureStarting
evento é gerado sempre que o WebView2 e/ou iframe que corresponde ao CoreWebView2Frame
(ou a qualquer um dos respetivos iframes descendentes) pede permissão para utilizar a API de Captura de Ecrã antes de a IU ser apresentada. Em seguida, a aplicação pode bloquear a apresentação da IU ou permitir que a IU seja apresentada.
CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2NonClientRegionKind
Enumeração:
Downloads
A sua aplicação pode gerir a experiência de transferência no WebView2. A sua aplicação pode:
- Permitir ou bloquear transferências com base em metadados diferentes.
- Altere a localização da transferência.
- Configurar uma IU de transferência personalizada.
- Personalizar a IU predefinida.
Geral:
-
CoreWebView2
Classe:
Modificar a Experiência Predefinida:
-
CoreWebView2
Classe: -
CoreWebView2Profile
Classe:
Experiência de Transferência Personalizada:
Guardar como
As APIs Guardar Como permitem-lhe executar programaticamente a operação Guardar como . Pode utilizar estas APIs para bloquear a caixa de diálogo Guardar como predefinida e, em seguida, guardar silenciosamente ou criar a sua própria IU para Guardar como. Estas APIs referem-se apenas à caixa de diálogo Guardar como e não à caixa de diálogo Transferir , que utiliza as APIs de Transferência.
CoreWebView2
Classe:-
Complete
Default
HtmlOnly
SingleFile
CoreWebView2SaveAsUIResult Enum
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
Classe CoreWebView2SaveAsUIShowingEventArgs
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.AllowReplace
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.Cancel
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.Kind
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath
- Propriedade CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method
Configurar o aviso de segurança ao guardar um ficheiro
Ao escutar o evento, a SaveFileSecurityCheckStarting
aplicação pode registar um processador neste evento para obter o caminho do ficheiro, a extensão de nome de ficheiro e as informações do URI de origem do documento. Em seguida, pode aplicar as suas próprias regras para efetuar ações como as seguintes:
- Permitir guardar o ficheiro sem apresentar uma IU de aviso de segurança predefinida sobre a política de tipo de ficheiro.
- Cancele a gravação.
- Crie a sua própria IU para gerir políticas de tipo de ficheiro de runtime.
CoreWebView2
Classe:Classe CoreWebView2SaveFileSecurityCheckStartingEventArgs
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave Property
- Propriedade CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension Property
- Propriedade CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath
- Propriedade CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral Method
Processamento de notificações Web
As APIs de Notificação Web suportam notificações não persistentes. O NotificationReceived
evento para CoreWebView2
controla o processamento de notificações Web, permitindo a personalização ou supressão pela aplicação anfitriã. As notificações não processadas são predefinidas para a IU do WebView2.
CoreWebView2
Classe:Classe CoreWebView2Notification
- Propriedade CoreWebView2Notification.BadgeUri
- Propriedade CoreWebView2Notification.Body
- Propriedade CoreWebView2Notification.BodyImageUri
- Propriedade CoreWebView2Notification.Direction
- Propriedade CoreWebView2Notification.IconUri
- Propriedade CoreWebView2Notification.IsSilent
- Propriedade CoreWebView2Notification.Language
- Propriedade CoreWebView2Notification.RequiresInteraction
- Propriedade CoreWebView2Notification.ShouldRenotify
- Propriedade CoreWebView2Notification.Tag
- Propriedade CoreWebView2Notification.Timestamp
- Propriedade CoreWebView2Notification.Title
- Propriedade CoreWebView2Notification.VibrationPattern
- CoreWebView2Notification.ReportClicked Method
- Método CoreWebView2Notification.ReportClosed
- Método CoreWebView2Notification.ReportShown
- CoreWebView2Notification.CloseRequested Evento
CoreWebView2TextDirectionKind Enumeração
Default
LeftToRight
RightToLeft
Permissões
Diferentes páginas Web podem pedir-lhe permissões para aceder a alguns recursos privilegiados, como o sensor de geolocalização, a câmara e o microfone. A sua aplicação anfitriã pode responder através de programação a pedidos de permissões e pode substituir a IU de permissões predefinida pela sua própria IU.
-
CoreWebView2
Classe: -
CoreWebView2Frame
Classe: - Enumeração CoreWebView2PermissionKind
-
CoreWebView2PermissionRequestedEventArgs
Classe: - Classe CoreWebView2PermissionSetting
-
CoreWebView2Profile
Classe:
Menus de contexto
O controlo WebView2 fornece um menu de contexto predefinido (menu de contexto) que pode personalizar ou desativar e também pode criar o seu próprio menu de contexto.
Veja também:
-
CoreWebView2
Classe: - Classe CoreWebView2ContextMenuItem
- Classe CoreWebView2ContextMenuRequestedEventArgs
- Classe CoreWebView2ContextMenuTarget
-
CoreWebView2Environment
Classe: -
CoreWebView2Settings
Classe:
Barra de status
Uma barra de status está localizada na parte inferior esquerda da página e apresenta o estado da página Web que está a ser apresentada. No WebView2, pode ativar/desativar a barra de status, obter o texto na barra de status e descobrir quando o texto da barra de status foi alterado.
-
CoreWebView2
Classe: -
CoreWebView2Settings
Classe:
Barras de deslocamento fluentes sobrepostas
Estiliza barras de deslocamento com o design Microsoft Fluent e faz com que as barras de deslocamento sobrepõem-se ao conteúdo Web. Esta estrutura adaptável da barra de deslocamento ajusta-se a vários dispositivos e tamanhos de janela.
Para experimentar as barras de deslocamento fluentes sobrepostas, no Microsoft Edge, aceda a edge://flags
e, em seguida, introduza Barras de deslocamento fluentes sobrepostas.
Veja também:
- Sinalizadores -
msEdgeFluentOverlayScrollbar
do browser WebView2 emsOverlayScrollbarWinStyle
sinalizadores.
CoreWebView2EnvironmentOptions
Classe:CoreWebView2ScrollbarStyle Enum
Default
FluentOverlay
Agente do Usuário
O agente de utilizador é uma cadeia que representa a identidade do programa em nome do utilizador, como o nome do browser. No WebView2, pode definir o agente de utilizador.
Veja também:
-
CoreWebView2Settings
Classe:
Preenchimento automático
A sua aplicação pode controlar independentemente se a funcionalidade de preenchimento automático do browser está ativada para informações gerais ou para palavras-passe.
-
CoreWebView2Settings
Classe:
Áudio
A sua aplicação pode desativar e ativar o som de todo o áudio e descobrir quando o áudio está a ser reproduzido.
Testar os cliques do rato em regiões
Fornece resultados de testes de êxito nas regiões que um WebView2 contém. Útil para aplicações alojadas visualmente que pretendem processar eventos do rato na área não cliente da janela WebView2.
CoreWebView2CompositionController
Classe:CoreWebView2NonClientRegionChangedEventArgs
Classe:Enumeração CoreWebView2NonClientRegionKind
Caption
Client
Nowhere
CoreWebView2Settings
Classe:
Percorrer navegação com gestos
Ao alojar o controlo WebView2, a aplicação pode ativar ou desativar a navegação por gestos de percorrer em dispositivos com entrada tátil ativada. Este gesto permite que os utilizadores finais:
- Percorra para a esquerda/direita (percorrer horizontalmente) para navegar para a página anterior ou seguinte no histórico de navegação.
- Puxe para atualizar (percorra verticalmente) a página atual.
Esta funcionalidade está atualmente desativada por predefinição no browser. Para ativar esta funcionalidade no WebView2, defina a AdditionalBrowserArguments
propriedade e especifique o --pull-to-refresh
comutador.
-
CoreWebView2Settings
Classe: -
CoreWebView2EnvironmentOptions
Classe:
Ativar ou desativar a resposta do browser às teclas de acelerador (teclas de atalho)
ICoreWebView2AcceleratorKeyPressedEventArgs
tem uma IsBrowserAcceleratorKeyEnabled
propriedade que lhe permite controlar se o browser processa teclas de acelerador (teclas de atalho), como Ctrl+P ou F3.
Veja também:
- Aceleradores de teclado, abaixo.
-
CoreWebView2AcceleratorKeyPressedEventArgs
Classe:
Ecrã inteiro
No WebView2, pode descobrir quando um elemento HTML entra ou sai da vista de ecrã inteiro.
Barra de ferramentas de PDF
No visualizador de PDF do browser, existe uma barra de ferramentas específica para PDF na parte superior. No WebView2, pode ocultar alguns dos itens na barra de ferramentas do visualizador de PDF.
-
CoreWebView2Settings
Classe:
Temas
No WebView2, pode personalizar o tema de cor como sistema, claro ou escuro.
-
CoreWebView2Profile
Classe:
Idioma
A Language
propriedade define o idioma de apresentação predefinido para WebView2 que se aplica à IU do browser (como menus de contexto e caixas de diálogo), juntamente com a definição do accept-language
cabeçalho HTTP que o WebView2 envia para sites.
A ScriptLocale
propriedade permite que a aplicação anfitriã defina a região predefinida para todas as Intl
APIs JavaScript e outras APIs JavaScript que dependem da mesma, como Intl.DateTimeFormat()
, o que afeta a formatação de cadeias em formatos de data/hora.
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2ControllerOptions
Classe:
Nova janela
O WebView2 fornece funcionalidades para processar a função window.open()
JavaScript .
Fechar janela
O WebView2 fornece funcionalidades para processar a função window.close()
JavaScript .
-
CoreWebView2
Classe: -
CoreWebView2Controller
Classe:
Título do documento
A sua aplicação pode detetar quando o título do documento de nível superior atual foi alterado.
-
CoreWebView2
Classe:
Favicon
No WebView2, pode definir um Favicon para um site ou ser notificado quando este for alterado.
-
CoreWebView2
Classe:
Segurança e privacidade
Prevenção de controlo
A prevenção de controlo permite que a aplicação anfitriã controle o nível de prevenção de controlo do controlo WebView2 associado ao perfil de utilizador.
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2Profile
Classe: -
CoreWebView2TrackingPreventionLevel Enum
None
Basic
Balanced
Strict
SmartScreen
Microsoft Defender SmartScreen ("SmartScreen") está ativado por predefinição. A IsReputationCheckingRequired
propriedade controla se o SmartScreen está ativado.
Se não desativar o SmartScreen, tem de indicar a todos os utilizadores que o software inclui Microsoft Defender SmartScreen e recolhe e envia as informações do utilizador à Microsoft, conforme divulgado na Declaração de Privacidade da Microsoft e no SmartScreen no Documento Técnico de Privacidade do Microsoft Edge.
Veja também:
- SmartScreen em Dados e privacidade no WebView2.
-
CoreWebView2Settings
Classe:
Relatórios de falhas personalizados
Se algum processo webView2 falhar, um ou mais ficheiros de minidump são criados e enviados para a Microsoft para diagnóstico. Utilize esta API para personalizar relatórios de falhas ao executar diagnóstico e efetuar análises.
- Para impedir que as informações de falha de sistema sejam enviadas para a Microsoft, defina a
IsCustomCrashReportingEnabled
propriedade comofalse
. - Para localizar informações de falha de sistema e personalizar as mesmas, utilize a
CrashDumpFolderPath
propriedade .
Veja também:
- Relatórios de falhas personalizados em Dados e privacidade no WebView2.
- Ficheiros minidump
-
CoreWebView2EnvironmentOptions
Classe: -
CoreWebView2Environment
Classe:
Extensões do navegador
A sua aplicação pode incorporar um controlo WebView2 que utiliza extensões de browser (suplementos). Uma extensão do Microsoft Edge é uma pequena aplicação que os programadores utilizam para adicionar ou modificar funcionalidades do Microsoft Edge para melhorar a experiência de navegação de um utilizador.
Veja também:
CoreWebView2EnvironmentOptions
Classe:CoreWebView2Profile
Classe:
Gestão de processos
Obtenha informações sobre a execução de processos WebView2, a saída de processos e processos falhados, para que a sua aplicação possa tomar medidas em conformidade.
Subsecções abaixo:
-
CoreWebView2
Classe: - Classe CoreWebView2BrowserProcessExitedEventArgs
-
CoreWebView2Environment
Classe: - Classe CoreWebView2ProcessFailedEventArgs
- Enumeração CoreWebView2ProcessFailedKind
- Enumeração CoreWebView2ProcessFailedReason
- Classe CoreWebView2ProcessInfo
Informações do processo de moldura
A API de Informações do Processo de Moldura, incluindo GetProcessExtendedInfos
, fornece uma coleção snapshot de todos os frames que estão a ser executados ativamente no processo de composição associado. Esta API permite que a sua aplicação detete que parte do WebView2 está a consumir recursos, como a memória ou a utilização da CPU.
CoreWebView2Environment
Classe:CoreWebView2ProcessExtendedInfo
Classe:CoreWebView2
Classe:CoreWebView2Frame
Classe:CoreWebView2FrameInfo
Classe:
Navegar para páginas e gerir conteúdo carregado
Através do controlo WebView2, a sua aplicação pode gerir a navegação em páginas Web e gerir conteúdos carregados nas páginas Web.
Subsecções abaixo:
- Gerir conteúdo carregado para o WebView2
- Histórico de navegação
- Tipo de navegação
- Bloquear navegação indesejada
- Eventos de navegação
- Gerir pedidos de rede no WebView2
- Registo de esquema personalizado
- Certificados de cliente
- Certificados de servidor
- Iniciar um esquema de URI externo
Gerir conteúdo carregado para o WebView2
Estas APIs carregam, param de carregar e recarregam conteúdos para o WebView2. O conteúdo carregado pode ser:
- Conteúdo de um URL.
- Uma cadeia de HTML.
- Conteúdo local através do nome do anfitrião virtual para o mapeamento de pastas local.
- Conteúdo de um pedido de rede construído.
Veja também:
-
CoreWebView2
Classe:- Método CoreWebView2.ClearVirtualHostNameToFolderMapping
- CoreWebView2.Navigate Method
- CoreWebView2.NavigateToString Method
- CoreWebView2.NavigateWithWebResourceRequest Method
- Método CoreWebView2.Reload
- Método CoreWebView2.SetVirtualHostNameToFolderMapping
- CoreWebView2.Stop Method
- Evento CoreWebView2.WebResourceRequested
-
CoreWebView2Settings
Classe:
Histórico de navegação
Os métodos de histórico permitem a navegação anterior e reencaminhada no WebView2 e os eventos do histórico fornecem informações sobre as alterações no histórico e na origem atual do WebView2.
Tipo de navegação
NavigationKind
obtém o tipo de navegação de cada navegação, como Anterior/Reencaminhar, Recarregar ou navegar para um novo documento.
-
CoreWebView2NavigationStartingEventArgs
Classe: - Enumeração CoreWebView2NavigationKind
Bloquear navegação indesejada
O NavigationStarting
evento permite que a aplicação cancele a navegação para URLs especificados no WebView2, incluindo para frames.
-
CoreWebView2
Classe:- CoreWebView2.NavigationStarting Event
-
CoreWebView2.FrameNavigationStarting Event - substituído; utilizar
CoreWebView2Frame.NavigationStarting
em vez disso
-
CoreWebView2Frame
Classe: - Classe CoreWebView2NavigationStartingEventArgs
Eventos de navegação
Com NavigationStarting
e os outros eventos de navegação, a aplicação pode ser informada do estado da navegação no WebView2. Uma navegação é o processo para carregar um novo URL.
Veja também:
-
CoreWebView2
Classe:- Evento CoreWebView2.ContentLoading
- Evento CoreWebView2.DOMContentLoaded
-
CoreWebView2.FrameNavigationCompleted Event - substituído; em vez disso, utilize
CoreWebView2Frame.NavigationCompleted
. - Evento CoreWebView2.NavigationCompleted
- Classe CoreWebView2ContentLoadingEventArgs
- Classe CoreWebView2DOMContentLoadedEventArgs
-
CoreWebView2Frame
Classe: - Classe CoreWebView2NavigationCompletedEventArgs
Gerir pedidos de rede no WebView2
O WebResourceRequested
evento permite que a aplicação intercete e substitua todos os pedidos de rede no WebView2. O WebResourceResponseReceived
evento permite que a aplicação monitorize o pedido enviado e a resposta recebida da rede.
Veja também:
CoreWebView2
Classe:
Registo de esquema personalizado
Permite o CustomSchemeRegistration
registo de esquemas personalizados no WebView2 para que a aplicação possa processar o WebResourceRequested
evento de pedidos para esses URLs de esquema personalizado e navegar no WebView2 para esses URLs.
- CoreWebView2CustomSchemeRegistration Class
-
CoreWebView2EnvironmentOptions
Classe:
Certificados de cliente
No WebView2, pode utilizar a API de Certificado de Cliente para selecionar o certificado de cliente ao nível da aplicação. Esta API permite-lhe:
- Apresentar uma IU ao utilizador, se assim o desejar.
- Substitua o pedido de diálogo certificado de cliente predefinido.
- Consulte programaticamente os certificados.
- Selecione um certificado na lista para responder ao servidor, quando o WebView2 estiver a fazer um pedido a um servidor HTTP que precise de um certificado de cliente para autenticação HTTP.
Certificados de servidor
No WebView2, pode utilizar a API de Certificado de Servidor para confiar no certificado TLS do servidor ao nível da aplicação. Desta forma, a aplicação anfitriã pode compor a página sem perguntar ao utilizador sobre o erro TLS ou a aplicação anfitriã pode cancelar automaticamente o pedido.
Iniciar um esquema de URI externo
Inicie um esquema de URI registado no SO.
-
CoreWebView2
Classe: -
Classe CoreWebView2LaunchingExternalUriSchemeEventArgs
- Propriedade CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel
- Propriedade CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin
- Propriedade CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated
- Propriedade CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri
- CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral Method
iframes
Os iframes permitem-lhe incorporar outras páginas Web na sua própria página Web. No WebView2, pode:
- Saiba quando são criados iframes.
- Saiba quando os iframes estão a navegar.
- Permitir ignorar opções de moldura x.
Veja também:
Autenticação
A sua aplicação pode processar a autenticação básica com o controlo WebView2. A autenticação básica é uma abordagem de autenticação específica que faz parte do protocolo HTTP.
Veja também:
Compor o WebView2 em aplicações não estruturais
Utilize estas APIs para configurar o sistema de composição WebView2 se a sua aplicação anfitriã não utilizar uma arquitetura de IU. Esta configuração de composição controla a forma como o WebView2 compõe a saída na sua aplicação anfitriã e como o WebView2 processa a entrada, o foco e a acessibilidade.
Quando utilizar estas APIs
Arquitetura de IU – se estiver a utilizar uma arquitetura de IU para a sua aplicação, deve utilizar o elemento WebView2 fornecido por essa arquitetura de IU, em vez de utilizar estas APIs.
Sem arquitetura de IU e sem utilizar Composição – se não estiver a utilizar uma arquitetura de IU para a sua aplicação (por exemplo, se estiver a utilizar diretamente o Win32 puro) ou se a sua arquitetura de IU não tiver um elemento WebView2, terá de criá-la
CoreWebView2Controller
e compor na sua aplicação com estas APIs nesta secção.Sem arquitetura de IU e com Composição – se a IU da sua aplicação for criada com o DirectComposition ou o Windows.UI.Composition, deve utilizar
CoreWebView2CompositionController
em vez de utilizar estas APIs; consulte Composição webView2 com Composição, abaixo.
Subsecções abaixo:
- Dimensionamento, posicionamento e visibilidade
- A ampliar
- Escala de rasterização
- Foco e tabulagem
- Janela principal
- Aceleradores de teclado
- Cor de fundo predefinida
-
CoreWebView2Controller
Classe: -
CoreWebView2Environment
Classe:
Dimensionamento, posicionamento e visibilidade
CoreWebView2Controller
utiliza um elemento principal HWND
. A Bounds
propriedade dimensiona e posiciona o WebView2 em relação ao principal HWND
. A visibilidade do WebView2 pode ser alternada com IsVisible
.
-
CoreWebView2Controller
Classe:
A ampliar
O WebView2 ZoomFactor
é utilizado para dimensionar apenas o conteúdo Web da janela. O dimensionamento da IU também é atualizado quando o utilizador amplia o conteúdo ao premir Ctrl enquanto roda a roda do rato.
-
CoreWebView2Controller
Classe: -
CoreWebView2Settings
Classe:
Escala de rasterização
A API RasterizationScale dimensiona toda a IU do WebView2, incluindo menus de contexto, descrição e pop-ups. A aplicação pode definir se o WebView2 deve detetar alterações de dimensionamento de monitorização e atualizar automaticamente o RasterizationScale.
BoundsMode
é utilizado para configurar se a propriedade Bounds é interpretada como pixels não processados ou DIPs (que têm de ser dimensionados por RasterizationScale
).
Foco e tabulagem
O controlo WebView2 gera eventos para informar a aplicação quando o controlo ganha foco ou perde o foco. Para a tabulação ( premir a Tecla de Tabulação), existe uma API para mover o foco para o WebView2 e um evento para o WebView2 solicitar que a aplicação volte a focar-se.
Janela principal
O WebView2 pode ser reparentedo para uma alça de janela principal diferente (HWND
). O WebView2 também tem de ser notificado quando a posição da aplicação no ecrã for alterada.
-
CoreWebview2Controller
Classe:
Aceleradores de teclado
Quando o WebView2 tem o foco, recebe diretamente entradas do utilizador. Uma aplicação pode querer intercetar e processar determinadas combinações de teclas de acelerador (teclas de atalho) ou desativar os comportamentos normais da chave do acelerador do browser.
Consulte também Ativar ou desativar a resposta do browser às teclas de acelerador (teclas de atalho) acima.
- Classe CoreWebView2AcceleratorKeyPressedEventArgs
-
CoreWebView2Controller
Classe: -
CoreWebView2Settings
Classe:
Cor de fundo predefinida
O WebView2 pode especificar uma cor de fundo predefinida. A cor pode ser qualquer cor opaca ou transparente. Esta cor será utilizada se a página HTML não definir a sua própria cor de fundo.
-
CoreWebView2Controller
Classe:
Compor WebView2 com Composição
Para composição webView2 baseada em composição, utilize CoreWebView2Environment
para criar um CoreWebView2CompositionController
.
CoreWebView2CompositionController
fornece as mesmas APIs que CoreWebView2Controller
, mas também inclui APIs para composição baseada em composição.
Subsecções abaixo:
- Classe CoreWebView2CompositionController
-
CoreWebView2Environment
Classe:
Ligar à árvore de elementos visuais
O WebView2 pode ligar a árvore de composição a um IDCompositionVisual, IDCompositionTarget ou Windows::UI::Composition::ContainerVisual
.
-
CoreWebView2CompositionController
Classe:
A reencaminhar entrada
A entrada espacial (rato, toque, caneta) é recebida pela aplicação e tem de ser enviada para o WebView2. O WebView2 notifica a aplicação quando o cursor deve ser atualizado com base na posição do rato.
-
CoreWebView2CompositionController
Classe: -
CoreWebView2Environment
Classe: - Classe CoreWebView2PointerInfo
Arrastar e largar
Por predefinição, é suportado arrastar de um controlo WebView2 para outra aplicação. No entanto, arrastar para um controlo WebView2 requer que, quando a aplicação anfitriã recebe um IDropTarget
evento do sistema, a aplicação anfitriã tenha de reencaminhar o evento para o controlo WebView2. Arrastar para um controlo WebView2 inclui operações de arrastar e largar que estão inteiramente dentro de um controlo WebView2.
Utilize as seguintes APIs para reencaminhar IDropTarget
eventos do sistema para o controlo WebView2.
-
CoreWebView2CompositionController
Classe:
Acessibilidade
Por predefinição, o WebView2 será apresentado na árvore de acessibilidade como subordinado do HWND principal, para aplicações Win32/C++. O WebView2 fornece API para posicionar melhor o conteúdo webView2 em relação a outros elementos na aplicação.
Opções de ambiente
Subsecções abaixo:
Dados de usuários
Faça a gestão da pasta de dados do utilizador (UDF), que é uma pasta no computador do utilizador. A UDF contém dados relacionados com a aplicação anfitriã e o WebView2. As aplicações WebView2 utilizam pastas de dados de utilizador para armazenar dados do browser, como cookies, permissões e recursos em cache.
Subsecções abaixo:
Veja também:
-
CoreWebView2Environment
Classe: -
CoreWebView2EnvironmentOptions
Classe:
Limpar dados de navegação:
-
CoreWebView2Profile
Classe: - CoreWebView2BrowsingDataKinds Enum
Múltiplos perfis
Gerir múltiplos perfis numa única pasta de dados de utilizador.
Veja também:
Crie um objeto de opções que defina um perfil:
-
CoreWebView2Environment
Classe: - Classe CoreWebView2ControllerOptions
Crie um controlo WebView2 que utilize o perfil:
-
CoreWebView2Environment
Classe:
Aceder e manipular o perfil:
-
CoreWebView2
Classe: - Classe CoreWebView2Profile
Excluir um perfil
A sua aplicação pode eliminar perfis de utilizador para um controlo de browser WebView2.
Veja também:
-
CoreWebView2Profile
Classe:
Seleção de runtime
A seleção de runtime suporta testes de pré-lançamento e autoalojador. Ao criar um ambiente WebView2:
- Para especificar uma ordem de pesquisa para canais de pré-visualização do browser, utilize a
CoreWebView2EnvironmentOptions.ChannelSearchKind
propriedade . - Para especificar que canais de pré-visualização do browser são procurados, utilize a
CoreWebView2EnvironmentOptions.ReleaseChannels
propriedade .
Veja também:
- Testar as próximas APIs e funcionalidades
- Pré-lançamento de testes com canais de pré-visualização
- Autoalojamento ao implementar canais de pré-visualização
CoreWebView2EnvironmentOptions
Classe:CoreWebView2ChannelSearchKind Enumeração
MostStable
LeastStable
Enumeração CoreWebView2ReleaseChannels
None
Stable
Beta
Dev
Canary
Desempenho e depuração
Analise e depure o desempenho, processe eventos relacionados com o desempenho e faça a gestão da utilização da memória para aumentar a capacidade de resposta da sua aplicação.
Subsecções abaixo:
Destino de utilização da memória
Especifica os níveis de consumo de memória, como low
ou normal
.
-
CoreWebView2
Classe: - CoreWebView2MemoryUsageTargetLevel Enum
Protocolo CDP (Chrome DevTools Protocol)
O Protocolo CDP (Chrome DevTools Protocol) fornece APIs para instrumentar, inspecionar, depurar e criar perfis Chromium browsers baseados em Chromium. O Protocolo DevTools do Chrome é a base para as DevTools do Microsoft Edge. Utilize o Protocolo DevTools do Chrome para funcionalidades que não estão implementadas na plataforma WebView2.
Veja também:
- Utilizar o Protocolo CDP (Chrome DevTools Protocol) em aplicações WebView2
- Protocolo Chrome DevTools
Abrir:
-
CoreWebView2Settings
Classe: -
CoreWebView2
Classe:
Chamada:
-
CoreWebView2
Classe:
Recetor:
Confira também
- Introdução ao Microsoft Edge WebView2
- Referência da API WebView2 - Ligações de Referência da API para plataformas e idiomas adicionais, como WinRT/C++ (COM).