Visão geral das APIs do WebView2

A incorporação do controle WebView2 em seu aplicativo dá a ele acesso a vários recursos do navegador, por meio de métodos e propriedades fornecidos por meio das classes ou interfaces WebView2.

O WebView2 tem centenas de APIs que fornecem um vasto conjunto de recursos, desde o aprimoramento dos recursos da plataforma nativa do aplicativo até a habilitação de que o aplicativo modifique as experiências do navegador. Este artigo fornece um agrupamento de alto nível das APIs do WebView2 para ajudá-lo a entender as diferentes coisas que você pode fazer usando o WebView2.

Conteúdo detalhado:

Visão geral das áreas de recursos de nível superior

Ao hospedar o controle WebView2, seu aplicativo tem acesso aos seguintes recursos e APIs:

Área de recurso Objetivo
Classes principais: Ambiente, Controle e Núcleo As CoreWebView2Environmentclasses , CoreWebView2Controller, e CoreWebView2 (ou interfaces equivalentes) trabalham juntas para que seu aplicativo possa hospedar um controle do navegador WebView2 e acessar seus recursos do navegador. Essas classes grandes expõem uma ampla variedade de APIs que seu aplicativo host pode acessar para fornecer as categorias abaixo de recursos relacionados ao navegador para seus usuários.
Interoperabilidade web/nativa Inserir conteúdo da Web em aplicativos nativos. Comunique-se entre o código nativo e o código da Web usando mensagens simples, código JavaScript e objetos nativos.
Recursos do navegador O controle WebView2 dá ao seu aplicativo acesso a muitos recursos do navegador. Você pode modificar esses recursos do navegador e ativá-los ou desativá-los.
Gerenciamento de processos Obtenha informações sobre a execução de processos WebView2, processos existentes e processos com falha, para que seu aplicativo possa agir de acordo.
Navegar pelas páginas e gerenciar conteúdo carregado Gerencie a navegação nas páginas da Web e gerencie o conteúdo carregado nas páginas da Web.
iframes Insira outras páginas da Web em sua própria página da Web. Detecte quando as páginas da Web inseridas são criadas, detecte quando as páginas da Web inseridas estão navegando e, opcionalmente, ignore as opções de quadro-x.
Autenticação Seu aplicativo pode lidar com a autenticação básica usando o controle WebView2. A autenticação Básica é uma abordagem de autenticação específica que faz parte do protocolo HTTP.
Renderizando o WebView2 em aplicativos que não são de estrutura Use essas APIs para configurar o sistema de renderização do WebView2 se o aplicativo host não usar uma estrutura de interface do usuário. Essa configuração de renderização controla como o WebView2 renderiza a saída em seu aplicativo host e como o WebView2 lida com entrada, foco e acessibilidade.
Renderizando o WebView2 usando a Composição Para renderização de WebView2 baseada em composição, use CoreWebView2Environment para criar um CoreWebView2CompositionControllerarquivo . CoreWebView2CompositionController fornece as mesmas APIs que CoreWebView2Controller, mas também inclui APIs para renderização baseada em composição.
Opções de ambiente Dados do usuário: gerencie a pasta de dados do usuário (UDF), que é uma pasta na máquina do usuário. A UDF contém dados relacionados ao aplicativo host e ao WebView2. Os aplicativos WebView2 usam pastas de dados do usuário para armazenar dados do navegador, como cookies, permissões e recursos armazenados em cache. Gerencie vários perfis em uma única UDF.
A seleção de runtime dá suporte a testes de pré-lançamento e auto-hospedagem. Você pode especificar uma ordem de pesquisa para os canais de visualização do navegador e especificar quais canais de visualização do navegador são pesquisados.
Desempenho e depuração Analise e depure o desempenho, manipule eventos relacionados ao desempenho e gerencie o uso de memória para aumentar a capacidade de resposta do seu aplicativo.
Protocolo Chrome DevTools (CDP) Instrumentar, inspecionar, depurar e criar o perfil de navegadores baseados no Chromium. O Protocolo Chrome DevTools (CDP) é a base para o DevTools do Microsoft Edge. Use o protocolo Chrome DevTools para recursos que não estão implementados na plataforma WebView2.

Esta página lista apenas APIs que estão em SDKs de lançamento; ele não lista APIs experimentais ou APIs estáveis que ainda não estão disponíveis em SDKs de lançamento. Para obter uma lista abrangente de APIs, incluindo APIs experimentais, consulte as notas de versão do SDK do WebView2.

Classes principais: Ambiente, Controle e Núcleo

As CoreWebView2Environmentclasses , CoreWebView2Controller, e CoreWebView2 (ou interfaces equivalentes) trabalham juntas para que seu aplicativo possa hospedar um controle do navegador WebView2 e acessar seus recursos do navegador. Essas três classes grandes expõem uma ampla variedade de APIs que seu aplicativo host pode acessar para fornecer muitas categorias de recursos relacionados ao navegador para seus usuários.

  • A CoreWebView2Environment classe representa um grupo de controles WebView2 que compartilham o mesmo processo do navegador WebView2, pasta de dados do usuário e processos de renderização. A partir dessa CoreWebView2Environment classe, você cria pares de CoreWebView2Controller e CoreWebView2 instâncias.

  • A CoreWebView2Controller classe é responsável pela funcionalidade relacionada à hospedagem, como foco de janela, visibilidade, tamanho e entrada, em que seu aplicativo hospeda o controle WebView2.

  • A CoreWebView2 classe é para as partes específicas da Web do controle WebView2, incluindo rede, navegação, script e análise e renderização de HTML.

Veja também:

Interoperabilidade web/nativa

O controle Microsoft Edge WebView2 permite inserir conteúdo da Web em aplicativos nativos. Você pode se comunicar entre código nativo e código da Web usando mensagens simples, código JavaScript e objetos nativos. A seguir estão as principais APIs para comunicação entre o código Web e o código nativo.

Casos de uso comuns para interoperabilidade web/nativa:

  • Atualize o título da janela do host nativo após navegar para um site diferente.
  • Envie um objeto de câmera nativo e use seus métodos em um aplicativo Web.
  • Execute um arquivo JavaScript dedicado no lado Web de um aplicativo.

Veja também:

Compartilhamento de objetos de host/web

O WebView2 permite que objetos definidos no código nativo sejam passados para o código do lado da Web do seu aplicativo. Objetos host são quaisquer objetos definidos no código nativo que você escolhe passar para o código do lado da Web do seu aplicativo.

Os objetos host podem ser projetados em JavaScript, para que você possa chamar métodos de objeto nativo (ou outras APIs) a partir do código do lado da Web do seu aplicativo. Por exemplo, seu aplicativo pode chamar essas APIs como resultado da interação do usuário no lado da Web do seu aplicativo. Dessa forma, você não precisa reimplementar as APIs de seus objetos nativos, como métodos ou propriedades, em seu código do lado da Web.

Execução de script

Permite que o aplicativo host adicione código JavaScript no conteúdo da Web dentro do controle WebView2.

Mensagens na web

Seu aplicativo pode enviar mensagens para o conteúdo da Web que está dentro do controle WebView2 e receber mensagens desse conteúdo da Web. As mensagens são enviadas como strings ou objetos JSON.

Opcionalmente, você pode postar e receber objetos DOM junto com sua mensagem, por meio do additionalObjects parâmetro de PostWebMessageAsJson (.NET, WinRT) ou via PostWebMessageAsJsonWithAdditionalObjects (Win32). A classe WebView2 CoreWebView2FileSystemHandle representa o DOM FileSystemHandlee CoreWebView2File representa o DOM File. Consulte também chrome.webview.postMessageWithAdditionalObjects na Referência do JavaScript.

Caixas de diálogo de script

Ao hospedar o WebView2, seu aplicativo pode gerenciar diferentes caixas de diálogo JavaScript para suprimi-las ou substituí-las por caixas de diálogo personalizadas.

Buffer compartilhado

A API SharedBuffer suporta buffers de compartilhamento entre o processo do aplicativo host WebView2 e o processo de renderização do WebView2, com base na memória compartilhada do sistema operacional.

Veja também:

Recursos do navegador

O controle WebView2 dá ao seu aplicativo acesso a muitos recursos do navegador. Você pode modificar esses recursos do navegador e ativá-los ou desativá-los.

Impressão

Você pode imprimir uma página da Web em uma impressora, arquivo PDF ou fluxo PDF definindo configurações de impressão personalizadas.

Veja também:

Cookies

Você pode usar cookies no WebView2 para gerenciar sessões de usuário, armazenar preferências de personalização do usuário e rastrear o comportamento do usuário.

Veja também:

Captura de imagem

Ao hospedar o WebView2, seu aplicativo pode capturar capturas de tela e indicar qual formato usar para salvar a imagem.

Controlar se a interface do usuário da captura de tela é mostrada

O ScreenCaptureStarting evento é gerado sempre que o WebView2 e/ou o iframe que corresponde ao (ou a qualquer um de seus iframes descendentes) solicita CoreWebView2Frame permissão para usar a API de Captura de Tela antes que a interface do usuário seja exibida. O aplicativo pode bloquear a exibição da interface do usuário ou permitir que a interface do usuário seja exibida.

Localizar

A API Find permite controlar programaticamente as operações Find e permite adicionar a seguinte funcionalidade ao seu aplicativo:

  • Personalize as opções de Localizar, incluindo Localizar Termo, Distinção entre maiúsculas e minúsculas, Correspondência de Word, Realce de correspondência e Supressão de interface do usuário padrão.
  • Localizar cadeias de caracteres de texto e navegar entre elas em um controle WebView2.
  • Inicie programaticamente operações de Localização e navegue pelos resultados de Localizar .
  • Suprimir a interface do usuário padrão do Finder .
  • Acompanhe o status das operações Localizar.

Há problemas conhecidos com a API Find para documentos PDF. Quando você exibe um documento PDF em um controle WebView2, o recurso Localizar atualmente fornece apenas o primeiro índice e o número de correspondências encontradas. Por exemplo, se a cadeia de caracteres ocorrer três vezes em um PDF, a interface do usuário dirá 1/3 e não dará suporte à chamada programática de Next ou Previous.

Estamos investigando ativamente esses problemas e encorajamos você a relatar quaisquer problemas que encontrar, usando o repositório WebView2Feedback .

Downloads

Seu aplicativo pode gerenciar a experiência de download no WebView2. Seu aplicativo pode:

  • Permitir ou bloquear downloads com base em metadados diferentes.
  • Altere o local de download.
  • Configure uma interface do usuário de download personalizada.
  • Personalize a interface do usuário padrão.

Geral:

Modificar experiência padrão:

Experiência de Download Personalizada:

Salvar como

As APIs Salvar como permitem que você execute programaticamente a operação Salvar como . Você pode usar essas APIs para bloquear a caixa de diálogo Salvar como padrão e, em seguida, salvar silenciosamente ou criar sua própria interface do usuário para Salvar como. Essas APIs pertencem apenas à caixa de diálogo Salvar como , não à caixa de diálogo Download , que usa as APIs de download.

Configurar o aviso de segurança ao salvar um arquivo

Ao escutar o SaveFileSecurityCheckStarting evento, seu aplicativo pode registrar um manipulador nesse evento para obter o caminho do arquivo, a extensão do nome do arquivo e as informações de URI de origem do documento. Em seguida, você pode aplicar suas próprias regras para executar ações como as seguintes:

  • Permitir salvar o arquivo sem apresentar uma interface do usuário de aviso de segurança padrão sobre a política de tipo de arquivo.
  • Cancele o salvamento.
  • Crie sua própria interface do usuário para gerenciar políticas de tipo de arquivo de tempo de execução.

Manipulação de notificações da Web

As APIs de notificação da Web dão suporte a notificações não persistentes. O NotificationReceived evento controla CoreWebView2 o tratamento de notificações da Web, permitindo a personalização ou supressão pelo aplicativo host. Notificações sem tratamento têm como padrão a interface do usuário do WebView2.

Permissões

Diferentes páginas da web podem solicitar permissões para acessar alguns recursos privilegiados, como sensor de geolocalização, câmera e microfone. Seu aplicativo host pode responder programaticamente a solicitações de permissões e pode substituir a interface do usuário de permissões padrão por sua própria interface do usuário.

Menus de contexto

O controle WebView2 fornece um menu de contexto padrão (menu de clique com o botão direito do mouse) que você pode personalizar ou desabilitar, e você também pode criar seu próprio menu de contexto.

Veja também:

Barra de status

Uma barra de status está localizada na parte inferior esquerda da página e exibe o estado da página da Web que está sendo exibida. No WebView2, você pode habilitar/desabilitar a barra de status, obter o texto na barra de status e descobrir quando o texto da barra de status foi alterado.

Barras de rolagem de sobreposição fluente

Estiliza as barras de rolagem com o design do Microsoft Fluent e faz com que as barras de rolagem se sobreponham ao conteúdo da Web. Esse design adaptável da barra de rolagem se ajusta a vários dispositivos e tamanhos de janela.

Para experimentar barras de rolagem de sobreposição Fluent, no Microsoft Edge, vá para edge://flags e insira barras de rolagem de sobreposição fluente.

Veja também:

  • Sinalizadores do - msEdgeFluentOverlayScrollbar navegador WebView2 e msOverlayScrollbarWinStyle sinalizadores.

Agente do Usuário

O agente do usuário é uma cadeia de caracteres que representa a identidade do programa em nome do usuário, como o nome do navegador. No WebView2, você pode definir o agente do usuário.

Veja também:

Preenchimento automático

Seu aplicativo pode controlar de forma independente se a funcionalidade de preenchimento automático do navegador está habilitada para informações gerais ou para senhas.

Áudio

Seu aplicativo pode ativar e desativar mudo de todo o áudio e descobrir quando o áudio está sendo reproduzido.

Teste de cliques do mouse em regiões

Fornece resultados de teste de clique nas regiões que um WebView2 contém. Útil para aplicativos hospedados visualmente que desejam manipular eventos de mouse na área não cliente da janela WebView2.

Navegação por gesto de passar o dedo

Ao hospedar o controle WebView2, seu aplicativo pode habilitar ou desabilitar a navegação por gestos de passar o dedo em dispositivos habilitados para entrada de toque. Esse gesto permite que os usuários finais:

  • Deslize o dedo para a esquerda/direita (deslize horizontalmente) para navegar até a página anterior ou seguinte no histórico de navegação.
  • Puxe para atualizar (deslizar verticalmente) a página atual.

Este recurso está desabilitado por padrão no navegador. Para habilitar esse recurso no WebView2, defina a AdditionalBrowserArguments propriedade, especificando a --pull-to-refresh opção.

Habilitar ou desabilitar o navegador respondendo às teclas de aceleração (teclas de atalho)

ICoreWebView2AcceleratorKeyPressedEventArgs tem uma IsBrowserAcceleratorKeyEnabled propriedade que permite que você controle se o navegador manipula teclas de aceleração (teclas de atalho), como Ctrl+P ou F3.

Veja também:

Tela inteira

No WebView2, você pode descobrir quando um elemento HTML entra ou sai do modo de exibição de tela inteira.

Barra de ferramentas PDF

No visualizador de PDF do navegador, há uma barra de ferramentas específica para PDF na parte superior. No WebView2, você pode ocultar alguns dos itens na barra de ferramentas do visualizador de PDF.

Temas

No WebView2, você pode personalizar o tema de cores como sistema, claro ou escuro.

Idioma

A Language propriedade define o idioma de exibição padrão para o WebView2 que se aplica à interface do usuário do navegador (como menus de contexto e caixas de diálogo), juntamente com a configuração do cabeçalho HTTP que o accept-language WebView2 envia aos sites.

A ScriptLocale propriedade permite que o aplicativo host defina a localidade padrão para todas as Intl APIs JavaScript e outras APIs JavaScript que dependem dela, como Intl.DateTimeFormat(), o que afeta a formatação de cadeia de caracteres em formatos de data/hora.

Nova janela

WebView2 fornece funcionalidade para manipular a função window.open()JavaScript .

Fechar janela

WebView2 fornece funcionalidade para manipular a função window.close()JavaScript .

Título do documento

Seu aplicativo pode detectar quando o título do documento de nível superior atual foi alterado.

Favicon

No WebView2, você pode definir um Favicon para um site ou ser notificado quando ele for alterado.

Segurança e privacidade

Prevenção contra rastreamento

A prevenção contra rastreamento permite que o aplicativo host controle o nível de prevenção contra rastreamento do controle WebView2 associado ao perfil do usuário.

SmartScreen

O Microsoft Defender SmartScreen ("SmartScreen") está habilitado por padrão. A IsReputationCheckingRequired propriedade controla se o SmartScreen está habilitado.

Se você não desabilitar o SmartScreen, deverá notificar a todos os usuários que seu software inclui o Microsoft Defender SmartScreen e que coleta e envia as informações do usuário à Microsoft, conforme divulgado na Política de Privacidade da Microsoft e no SmartScreen em Dados do usuário e privacidade no Microsoft Edge.

Veja também:

Relatório de falhas personalizado

Se algum processo do WebView2 falhar, um ou mais arquivos de minidespejo serão criados e enviados à Microsoft para diagnóstico. Use essa API para personalizar o relatório de falhas ao executar diagnósticos e fazer análises.

  • Para impedir que despejos de memória sejam enviados à Microsoft, defina a IsCustomCrashReportingEnabled propriedade como false.
  • Para localizar despejos de memória e personalizá-los, use a CrashDumpFolderPath propriedade.

Veja também:

Extensões do navegador

Seu aplicativo pode incorporar um controle WebView2 que usa uma extensão do Microsoft Edge. Uma extensão do Microsoft Edge é um pequeno aplicativo que os desenvolvedores usam para adicionar ou modificar recursos do Microsoft Edge para melhorar a experiência de navegação do usuário.

Veja também:

Gerenciamento de processos

Obtenha informações sobre a execução de processos WebView2, processos existentes e processos com falha, para que seu aplicativo possa agir adequadamente.

Informações de processo do quadro

A API Frame Process Info, incluindo GetProcessExtendedInfos, fornece uma coleção snapshot de todos os quadros que estão sendo executados ativamente no processo de renderização associado. Essa API permite que seu aplicativo detecte qual parte do WebView2 está consumindo recursos, como uso de memória ou CPU.

Ativar o processamento em segundo plano e o suporte offline (WebView2 Worker APIs)

As APIs do WebView2 Worker permitem que aplicativos host interajam com Web Workers para descarregar tarefas do thread principal, melhorar a capacidade de resposta e dar suporte a operações em segundo plano. Esses Trabalhadores da Web incluem Trabalhadores Dedicados, Trabalhadores Compartilhados e Trabalhadores de Serviço.

Essas APIs fornecem:

  • Eventos de ciclo de vida: Monitorar a criação e a destruição de trabalhadores.
  • Interfaces de mensagens: Comunicar-se com os trabalhadores usando PostMessage e WebMessageReceived; especificamente:
    • CoreWebView2ServiceWorker.PostWebMessageAsJson
    • CoreWebView2ServiceWorker.PostWebMessageAsString
    • CoreWebView2DedicatedWorker.PostWebMessageAsJson
    • CoreWebView2DedicatedWorker.PostWebMessageAsString
    • CoreWebView2ServiceWorker.WebMessageReceived
    • CoreWebView2DedicatedWorker.WebMessageReceived
    • chrome.webview.postMessage
    • Não: chrome.webview.postMessageWithAdditionalObjects
  • Gerenciamento de Trabalho: Consultar e recuperar registros e instâncias de trabalho.

Por meio do controle WebView2, seu aplicativo pode gerenciar a navegação para páginas da Web e gerenciar o conteúdo carregado nas páginas da Web.

Gerenciar conteúdo carregado no WebView2

Essas APIs carregam, param de carregar e recarregam o conteúdo no WebView2. O conteúdo carregado pode ser:

  • Conteúdo de uma URL.
  • Uma cadeia de caracteres HTML.
  • Conteúdo local por meio do nome do host virtual para o mapeamento de pasta local.
  • Conteúdo de uma solicitação de rede construída.

Veja também:

Os métodos de histórico permitem navegação para frente e para frente no WebView2, e os eventos de histórico fornecem informações sobre as alterações no histórico e na fonte atual do WebView2.

NavigationKind obtém o tipo de navegação de cada navegação, como Voltar/Avançar, Recarregar ou navegação para um novo documento.

Bloquear a navegação indesejada

O NavigationStarting evento permite que o aplicativo cancele a navegação para URLs especificadas no WebView2, incluindo para quadros.

Com NavigationStarting e os outros eventos de navegação, o aplicativo pode ser informado sobre o estado da navegação no WebView2. Uma navegação é o processo para carregar uma nova URL.

Veja também:

Gerenciar solicitações de rede no WebView2

O WebResourceRequested evento permite que o aplicativo intercepte e substitua todas as solicitações de rede no WebView2. O WebResourceResponseReceived evento permite que o aplicativo monitore a solicitação enviada e a resposta recebida da rede.

Veja também:

Registro de esquema personalizado

O permite o CustomSchemeRegistration registro de esquemas personalizados no WebView2 para que o aplicativo possa lidar com o WebResourceRequested evento de solicitações para essas URLs de esquema personalizado e navegar no WebView2 para essas URLs.

Certificados de cliente

No WebView2, você pode usar a API de certificado do cliente para selecionar o certificado do cliente no nível do aplicativo. Essa API permite que você:

  • Exiba uma interface do usuário para o usuário, se desejado.
  • Substitua o prompt de diálogo de certificado de cliente padrão.
  • Consulte os certificados de forma programática.
  • Selecione um certificado na lista para responder ao servidor, quando o WebView2 estiver fazendo uma solicitação a um servidor HTTP que precisa de um certificado de cliente para autenticação HTTP.

Certificados do servidor

No WebView2, você pode usar a API de certificado do servidor para confiar no certificado TLS do servidor no nível do aplicativo. Dessa forma, seu aplicativo host pode renderizar a página sem perguntar ao usuário sobre o erro de TLS ou seu aplicativo host pode cancelar automaticamente a solicitação.

Iniciar um esquema de URI externo

Inicie um esquema de URI registrado com o sistema operacional.

iframes

Os iframes permitem que você insira outras páginas da Web em sua própria página da Web. No WebView2, você pode:

  • Descubra quando os iframes são criados.
  • Descubra quando os iframes estão navegando.
  • Permitir ignorar as opções de x-frame.

Veja também:

Autenticação

Seu aplicativo pode lidar com a autenticação básica usando o controle WebView2. A autenticação Básica é uma abordagem de autenticação específica que faz parte do protocolo HTTP.

Veja também:

Renderizando o WebView2 em aplicativos que não são de estrutura

Use essas APIs para configurar o sistema de renderização do WebView2 se o aplicativo host não usar uma estrutura de interface do usuário. Essa configuração de renderização controla como o WebView2 renderiza a saída em seu aplicativo host e como o WebView2 lida com entrada, foco e acessibilidade.

Quando usar essas APIs

  • Estrutura da interface do usuário – se você estiver usando uma estrutura de interface do usuário para seu aplicativo, deverá usar o elemento WebView2 fornecido por essa estrutura de interface do usuário, em vez de usar essas APIs.

  • Nenhuma estrutura de interface do usuário e não usar Composição – se você não estiver usando uma estrutura de interface do usuário para seu aplicativo (por exemplo, se estiver usando Win32 puro diretamente) ou se sua estrutura de interface do usuário não tiver um elemento WebView2, você precisará criá-la CoreWebView2Controller e renderizá-la em seu aplicativo, usando essas APIs nesta seção.

  • Nenhuma estrutura de interface do usuário e usando o Composition – se a interface do usuário do aplicativo for criada usando DirectComposition ou Windows.UI.Composition, você deverá usar CoreWebView2CompositionController em vez de usar essas APIs; consulte Renderizando o WebView2 usando o Composition, abaixo.

Dimensionamento, posicionamento e visibilidade

CoreWebView2Controller leva um pai HWND. A Bounds propriedade dimensiona e posiciona o WebView2 em relação ao pai HWND. A visibilidade do WebView2 pode ser alternada usando IsVisible.

Zoom

O WebView2 ZoomFactor é usado para dimensionar apenas o conteúdo da Web da janela. O dimensionamento da interface do usuário também é atualizado quando o usuário amplia o conteúdo pressionando Ctrl enquanto gira a roda do mouse.

Escala de rasterização

A API RasterizationScale dimensiona toda a interface do usuário do WebView2, incluindo menus de contexto, dica de ferramenta e pop-ups. O aplicativo pode definir se o WebView2 deve detectar alterações na escala do monitor e atualizar automaticamente o RasterizationScale. BoundsMode é usado para configurar se a propriedade Bounds é interpretada como pixels brutos ou DIPs (que precisam ser dimensionados por RasterizationScale).

Foco e guias

O controle WebView2 gera eventos para informar ao aplicativo quando o controle ganha ou perde o foco. Para tabulação (pressionando a tecla Tab ), há uma API para mover o foco para o WebView2 e um evento para o WebView2 solicitar que o aplicativo retome o foco.

Janela pai

O WebView2 pode ser reparentado para um identificador de janela pai diferente (HWND). O WebView2 também precisa ser notificado quando a posição do aplicativo na tela for alterada.

Aceleradores de teclado

Quando o WebView2 tem foco, ele recebe entrada diretamente do usuário. Um aplicativo pode querer interceptar e manipular determinadas combinações de teclas do acelerador (teclas de atalho) ou desabilitar os comportamentos normais das teclas do acelerador do navegador.

Consulte também Habilitar ou desabilitar o navegador respondendo às teclas de aceleração (teclas de atalho), acima.

Cor da tela de fundo padrão

O WebView2 pode especificar uma cor de plano de fundo padrão. A cor pode ser qualquer cor opaca ou transparente. Essa cor será usada se a página HTML não definir sua própria cor de tela de fundo.

Veja também:

Renderizando o WebView2 usando a Composição

Para renderização de WebView2 baseada em composição, use CoreWebView2Environment para criar um CoreWebView2CompositionControllerarquivo . CoreWebView2CompositionController fornece as mesmas APIs que CoreWebView2Controller, mas também inclui APIs para renderização baseada em composição.

Conectando-se à árvore visual

O WebView2 pode conectar sua árvore de composição a um IDCompositionVisual, IDCompositionTarget ou Windows::UI::Composition::ContainerVisual.

Entrada de encaminhamento

A entrada espacial (mouse, toque, caneta) é recebida pelo aplicativo e deve ser enviada para o WebView2. O WebView2 notifica o aplicativo quando o cursor deve ser atualizado com base na posição do mouse.

Permitir que mensagens de evento de entrada passem pela janela do navegador

Permite que mensagens de evento de entrada do usuário (teclado, mouse, toque ou caneta) passem pela janela do navegador, para serem recebidas por uma janela de processo do aplicativo.

Arrastar e soltar

O arrastar de um controle WebView2 para outro aplicativo é suportado por padrão. No entanto, arrastar para um controle WebView2 requer que, quando o aplicativo host recebe um IDropTarget evento do sistema, o aplicativo host encaminhe o evento para o controle WebView2. Arrastar para um controle WebView2 inclui operações de arrastar e soltar que estão inteiramente dentro de um controle WebView2.

Use as APIs a seguir para encaminhar IDropTarget eventos do sistema para o controle WebView2.

Acessibilidade

Por padrão, o WebView2 aparecerá na árvore de acessibilidade como um filho do HWND pai, para aplicativos Win32/C++. O WebView2 fornece API para posicionar melhor o conteúdo do WebView2 em relação a outros elementos no aplicativo.

Não aplicável.

Opções de ambiente

Dados de usuários

Gerencie a pasta de dados do usuário (UDF), que é uma pasta na máquina do usuário. A UDF contém dados relacionados ao aplicativo host e ao WebView2. Os aplicativos WebView2 usam pastas de dados do usuário para armazenar dados do navegador, como cookies, permissões e recursos armazenados em cache.

Veja também:

Limpando dados de navegação:

Perfis múltiplos

Gerencie vários perfis em uma única pasta de dados do usuário.

Veja também:

Crie um objeto options que defina um perfil:

Crie um controle WebView2 que use o perfil:

Acesse e manipule o perfil:

Excluir um perfil

Seu aplicativo pode excluir perfis de usuário para um controle do navegador da Web WebView2.

Veja também:

Seleção de tempo de execução

A seleção de runtime dá suporte a testes de pré-lançamento e auto-hospedagem. Ao criar um ambiente WebView2:

  • Para especificar uma ordem de pesquisa para os canais de visualização do navegador, use a CoreWebView2EnvironmentOptions.ChannelSearchKind propriedade.
  • Para especificar quais canais de visualização do navegador são pesquisados, use a CoreWebView2EnvironmentOptions.ReleaseChannels propriedade.

Veja também:

Desempenho e depuração

Analise e depure o desempenho, manipule eventos relacionados ao desempenho e gerencie o uso de memória para aumentar a capacidade de resposta do seu aplicativo.

Destino de uso de memória

Especifica os níveis de consumo de memória, como low ou normal.

Protocolo Chrome DevTools (CDP)

O CDP (Protocolo Chrome DevTools) fornece APIs para instrumentar, inspecionar, depurar e criar perfis de navegadores baseados no Chromium. O protocolo Chrome DevTools é a base para o DevTools do Microsoft Edge. Use o protocolo Chrome DevTools para recursos que não estão implementados na plataforma WebView2.

Veja também:

Abrir:

Ligar:

Receptor:

Confira também