Sinalizadores do navegador WebView2

Uma das maneiras de interagir com o Microsoft Edge WebView2 e afetar o comportamento é passando sinalizadores do navegador (argumentos ou opções) para o WebView2. Esses sinalizadores do navegador são úteis para testar os próximos recursos e diagnosticar problemas.

Para aplicativos de produção, não use esses sinalizadores. Durante o desenvolvimento, se o sinalizador estiver presente, o comportamento especificado abaixo resultará.

Aviso

Os aplicativos em produção não devem usar sinalizadores do navegador WebView2, pois esses sinalizadores podem ser removidos ou alterados a qualquer momento e não têm suporte necessário a longo prazo.

Geralmente, os sinalizadores são de propriedade do Chromium e do Microsoft Edge. Os sinalizadores do Chromium não são de propriedade ou controlados pelo Microsoft Edge, portanto, o Microsoft Edge não tem controle sobre quando ou como os sinalizadores são removidos ou alterados em seu comportamento.

Você pode definir sinalizadores do navegador no ambiente do dispositivo local ou definir sinalizadores do navegador programaticamente por meio do código. Ambas as abordagens são descritas abaixo.

Configurando sinalizadores do navegador no ambiente do dispositivo local

Para testar os próximos recursos ou diagnosticar problemas, recomendamos o uso de sinalizadores de navegador no ambiente do dispositivo local, por meio da configuração da variável de WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS ambiente ou das chaves do Registro. Para obter mais informações, consulte a seguinte referência da API Win32: CreateCoreWebView2EnvironmentWithOptions.

Configurando sinalizadores do navegador programaticamente por meio do código

Em vez de definir sinalizadores do navegador no ambiente do dispositivo local, uma abordagem alternativa é definir sinalizadores do navegador programaticamente, passando os sinalizadores do navegador como a AdditionalBrowserArguments propriedade de CoreWebView2EnvironmentOptions. Se você definir sinalizadores do navegador programaticamente, remova os sinalizadores no código antes de enviar seu aplicativo, para evitar o envio acidental dos sinalizadores na produção.

Sinalizadores do navegador WebView2 disponíveis

Os seguintes sinalizadores do navegador WebView2 estão disponíveis para uso durante o desenvolvimento.

Para aplicativos de produção, não use esses sinalizadores. Durante o desenvolvimento, se o sinalizador estiver presente, o comportamento especificado abaixo resultará.

Flag Descrição
accept-lang Especifica Accept-Language enviar aos servidores e expor ao JavaScript por meio da propriedade DOM Navigator.language . O formato é language[-country], onde language está o código de 2 letras do ISO-639.
allow-file-access-from-files Permite a leitura file:// de URIs de outros file:// URIs.
allow-insecure-localhost Permite que erros TLS/SSL no host local sejam ignorados, para que nenhum intersticial seja feito e nenhum bloqueio de solicitações seja feito.
allow-run-as-system Por padrão, o navegador Edge WebView sai se iniciado como Sistema (não é recomendável iniciar como Sistema). Esse sinalizador ignora essa marca, para que, mesmo que o navegador Edge WebView seja iniciado como Sistema, o navegador Edge WebView não saia.
allow-running-insecure-content Habilita o conteúdo não seguro no Cast Web Runtime. Esse sinalizador desbloqueia MSPs que veiculam conteúdo de fontes HTTP.
auto-open-devtools-for-tabs Faz com que o Edge WebView abra automaticamente a janela do DevTools para cada guia. Para uso por desenvolvedores e por automação.
AutofillReplaceCachedWebElementsByRendererIds Substitui elementos da Web armazenados em cache no AutofillAgent e no FormTracker por seus IDs de renderizador.
autoplay-policy Nome do sinalizador de linha de comando para definir a política de reprodução automática.
BlockInsecurePrivateNetworkRequests Quando esse recurso está habilitado, as solicitações de rede privada iniciadas a partir de contextos não seguros no public espaço de endereço são bloqueadas.
block-new-web-contents Recebe um true valor ou false . Se true, faz com que window.open todos os pop-ups e chamadas falhem. Se false, pop-ups e chamadas para window.open são respeitados.
BreakoutBoxPreferCaptureTimestampInVideoFrames Reverte o Timestamp comportamento da propriedade da CoreWebView2Texture classe para corresponder ao comportamento herdado do WebView2 Runtime versão 124 e anteriores.
disable-background-timer-throttling Desabilita a limitação de tarefas de timer de páginas em segundo plano.
disable-domain-action-user-agent-override Desabilita a substituição do Agente do Usuário por domínio do recurso Ações de Domínio.
disable-gpu Desabilita a aceleração de hardware da GPU. Se um renderizador de software não estiver em vigor, o processo da GPU não será iniciado.
disable-gpu-driver-bug-workarounds Desabilita soluções alternativas para vários bugs de driver de GPU.
disable-site-isolation-trials Desabilita o isolamento de sites.
disable-web-security Desabilita a política de origem cruzada e não impõe a política de mesma origem. Use apenas para testes no site.
disk-cache-size Força o espaço em disco máximo a ser usado pelo cache de disco, em bytes.
do-not-de-elevate Impede a deselevação do WebView2 na inicialização. Usado após a deselevação, para evitar loops infinitos.
edge-webview-debugging-script Executa o PostWebMessage script de forma assíncrona.
edge-webview-disable-interactive-dragging Desabilita eventos de ponteiro e eventos de foco de ocorrerem em elementos que têm o --app-region: drag atributo. Se esse sinalizador não estiver definido, os elementos de arrastar serão interativos por padrão.
edge-webview-enable-mojo-ipcz Habilita o MojoIpcz (mojo-ipcz) para aplicativos que usam o WebView2.
edge-webview-force-personal-context Força os processos do navegador Edge WebView a serem executados no contexto pessoal da WIP.
edge-webview-foreground-boost-opt-in Opta por aumentar o primeiro plano.
edge-webview-foreground-boost-opt-out Desativa o aumento em primeiro plano.
edge-webview-interactive-dragging Permite que eventos de ponteiro e eventos de foco ocorram em elementos que têm o --app-region: drag atributo. Os elementos de arrastar são interativos por padrão.
edge-webview-is-background Indica que o WebView está sendo iniciado em segundo plano.
edge-webview-no-dpi-workaround Desabilita a solução alternativa "Correção de compatibilidade de aplicativo de reconhecimento de DPI", que inicia o processo do navegador Edge WebView por meio de um shell, para que o processo não herde o shim "aplicativo compatível".
edge-webview-run-with-package-id Executa processos do WebView com uma identidade de pacote (ID do pacote) para um aplicativo da área de trabalho em ponte.
edge-webview-run-without-package-id Executa processos WebView sem uma identidade de pacote (ID do pacote) para um aplicativo da área de trabalho em ponte.
edge-webview-unique-window-class Faz com que o WebView2 registre classes de janela específicas do módulo acrescentando automaticamente um sufixo derivado do nome do arquivo do módulo cliente, sem detalhes de caminho ou extensão. Por exemplo, para o nome EmbeddedBrowserWebView.dlldo arquivo , um sufixo de é anexado EmbeddedBrowserWebView a Chrome_WidgetWin_0, formando Chrome_WidgetWin_0_EmbeddedBrowserWebView. Habilite esse sinalizador para evitar uma falha que pode ocorrer quando diferentes versões do WebView2 e do Chromium Embedded Framework (CEF) coexistem no mesmo processo e tentam interagir com janelas que compartilham a mesma classe.
embedded-browser-webview-dpi-awareness Define o nível de reconhecimento de DPI dos processos do lado do servidor.
enable-aggressive-domstorage-flushing Permite a liberação agressiva do armazenamento DOM, para minimizar a perda de dados.
enable-experimental-web-platform-features Habilita recursos da plataforma da Web que estão em desenvolvimento.
enable-logging Habilite o registro em log no nível do erro.
force-color-profile Força todos os monitores a serem tratados como se tivessem o perfil de cores especificado. Valores válidos: srgb, generic-rgb.
force-device-scale-factor Substitui o fator de escala do dispositivo para a interface do usuário do navegador Edge WebView e o conteúdo.
force-fieldtrials Pode ser usado para forçar testes de campo ao testar alterações localmente. O argumento é uma lista de pares nome/valor, separados por barras. Se o nome de um teste for prefixado com um asterisco, esse teste será iniciado ativado. Exemplo: O argumento a seguir define duas tentativas, com a segunda ativada: EdgeNow/Enable/*MaterialDesignNTP/Default/. Essa opção também pode ser usada pelo processo do navegador para enviar a lista de avaliações para um processo que não seja do navegador, usando o mesmo formato.
force-fieldtrial-params Pode ser usado para forçar parâmetros de testes de campo ao testar alterações localmente. O argumento é uma lista de parâmetros de pares (chave, valor), prefixada por um par associado (avaliação, grupo). Para vários pares (avaliação, grupo), use um separador de vírgula.
force-renderer-accessibility Se deve forçar a acessibilidade do renderizador a ser ativada, em vez de habilitar a acessibilidade do renderizador sob demanda quando um leitor de tela é detectado. O disable-renderer-accessibility sinalizador substitui esse sinalizador, se o sinalizador disable-renderer-accessibility estiver presente.
HardwareMediaKeyHandling Permite o manuseio de chaves de mídia de hardware para controle de mídia.
ignore-certificate-errors Ignora erros relacionados a certificados.
ignore-gpu-blocklist Se deseja ignorar a lista de bloqueio da GPU.
incognito Força o modo InPrivate (Incógnito) mesmo se o diretório de dados do usuário for especificado usando o --user-data-dir sinalizador.
isolate-origins Exigem processos dedicados para um conjunto de origens, especificado como uma lista separada por vírgulas. Exemplo: --isolate-origins=https://www.foo.com,https://www.bar.com.
js-flags Especifica os sinalizadores passados para o mecanismo JS. Sinalizadores disponíveis: scavenger_max_new_space_capacity_mb: Especifica o limite máximo (em MB) para coletores de lixo de limpeza (secundários) no mecanismo JavaScript V8.
Um limite menor de memória de eliminador reduz o uso de memória e aumenta a frequência de execução de coletores de lixo secundários.
Um limite de memória de eliminador mais alto aumenta o uso de memória e reduz a frequência de execução de coletores de lixo secundários. Exemplo: --js-flags=--scavenger_max_new_space_capacity_mb=8.
lang O arquivo de idioma que o WebView2 deseja tentar abrir. Da forma language[-country] onde language é o código de 2 letras de ISO-639.
log-net-log Permite salvar eventos de log de rede em um arquivo. Se um valor for fornecido, esse valor será usado como o caminho do diretório e o nome do arquivo. Se nenhum valor for fornecido, o arquivo será nomeado netlog.jsone colocado no diretório de dados do usuário.
long-animation-frame-timing Fornece tempo detalhado para quadros de animação longos, que são quadros que excedem a duração padrão de 16,67 ms (60 fps). Isso ajuda durante a depuração e a análise de desempenho, a identificar e otimizar gargalos de desempenho para aplicativos com muita animação.
msAbydos Habilita a experiência de "manuscrito em texto".
msAbydosGestureSupport Permite que os usuários usem gestos (como o gesto de riscar) para excluir texto usando uma caneta. Válido somente se o msAbydos sinalizador estiver habilitado.
msAbydosHandwritingAttr Se a experiência de "manuscrito em texto" está habilitada para elementos de entrada no nível DOM. Válido somente se o msAbydos sinalizador estiver habilitado.
msAbydosForWindowlessWV2 Habilita a funcionalidade ShellHandwriting (Manuscrito do Windows Shell) no modo de hospedagem Window to Visual. Válido somente se o msAbydos sinalizador estiver habilitado. Consulte também Hospedagem em janelas vs. hospedagem visual do WebView2.
msAllowAmbientAuthInPrivateWebView2 Esse sinalizador deve ser usado junto com o sinalizador do msSingleSignOnForInPrivateWebView2 navegador para habilitar o logon único (SSO) com o fluxo de credenciais padrão ou o fluxo de autenticação do ambiente.
msEdgeDesignerDriverFix Permite obter conteúdo e mostrar automaticamente o recurso Designer. O recurso Designer não é compatível com o WebView2.
msEdgeDesignerUI Habilita o aplicativo Designer Shoreline. Não há suporte para o aplicativo Designer Shoreline no WebView2.
msEdgeDevToolsWdpRemoteDebugging Habilita a depuração remota. Confira Depuração remota de aplicativos WebView2 WinUI 2 (UWP),Depurar remotamente dispositivos Windows.
msEdgeFluentOverlayScrollbar Forçar a habilitação das barras de rolagem de sobreposição do Fluent, substituindo qualquer valor kFluentScrollbar que possa ser mantido no momento.
msEdgeHubAppDesigner Habilita o aplicativo Designer Shoreline. Não há suporte para o aplicativo Designer Shoreline no WebView2.
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs Faz com que o AddWebResourceRequestedFilter método (incluindo sobrecargas) também se aplique a iframes fora do processo.
.NET: AddWebResourceRequestedFilter
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceKinds
msEnhancedTextContrast Melhora o aprimoramento do contraste do texto e a correção de gama para corresponder à qualidade e clareza de outros aplicativos nativos do Windows. Quando esse sinalizador é usado, a renderização da fonte respeita as configurações do sintonizador ClearType do usuário ao aplicar o aprimoramento do contraste do texto e a correção gama.
msEnhancedTrackingPreventionEnabled Habilita recursos nativos de proteção de privacidade, como bloqueio de cookies e solicitações da Web que residem em domínios conhecidos por serem domínios de rastreamento.
msFloatyMode Recebe um true valor ou false . Se true, habilita o recurso Floaty. Se false, desativa o recurso Floaty. Use esse sinalizador para desabilitar o recurso Floaty, pois o WebView não oferece suporte a experimentos de retenção do navegador.
msFloatyShouldHonorIndiaHoldout Recebe um true valor ou false . Se true, honra o grupo de resistência da Índia. Se false, desabilita o recurso Floaty habilitado se o usuário fizer parte do grupo de resistência da Índia, porque o WebView não oferece suporte a experimentos de retenção do navegador.
msOverlayScrollbarWinStyle Se os usuários podem alternar entre os modos de sobreposição e não sobreposição para barras de rolagem do Fluent.
msPageInteractionManagerWebview2 Por padrão, a API do Gerenciador de Restrição de Interação de Página está desabilitada para o WebView2. Se um aplicativo precisar habilitar a configuração dessa API no WebView2, o aplicativo deverá habilitar esse sinalizador.
msPdfEnableAsPreview Esses recursos permitem que o visualizador de PDF seja iniciado com uma barra de ferramentas mínima e no modo de visualização somente leitura.
msSingleSignOnForInPrivateWebView2 Esse sinalizador habilita o fluxo de logon único (SSO) para sessões InPrivate (anônimas) do WebView2. Habilita o SSO baseado em navegador no modo InPrivate (anônimo).
msSingleSignOnOSForPrimaryAccountIsShared Permite entrada implícita em páginas da Web da Microsoft usando qualquer conta, usando as informações da conta do sistema operacional principal.
msSmartScreenProtection Disponibiliza a proteção do SmartScreen.
msUseSpellCheckCorrectionsCard Faz com que a interface do usuário de um card de correções seja exibida quando o usuário clica em uma palavra incorreta.
msWebViewAllowLocalNetworkAccessChecks Habilita as verificações de segurança de Acesso à Rede Local que restringem o acesso a conteúdos da Web de origens públicas de acessar recursos de rede locais e de loopback, a menos que explicitamente permitido. Desabilitado por padrão; deve ser habilitado pelo aplicativo para configurar o comportamento do Acesso à Rede Local no WebView2.
Observação: esse sinalizador de recurso será aplicável até que as APIs estejam totalmente integradas e sua adoção atinja um estado estável, após o qual esse sinalizador será preterido.
msWebView2BrowserHitTransparent Faz com que os eventos de mouse e teclado passem pelo controle WebView2 para o aplicativo subjacente, para permitir que o aplicativo manipule esses eventos em vez do controle WebView2 manipular os eventos. Quando esse sinalizador não está habilitado, o controle WebView2 manipula eventos de mouse e teclado; Os eventos não passam para o aplicativo subjacente. Esse sinalizador permite testar como o aplicativo se comporta quando o controle WebView2 não intercepta eventos de entrada, para cenários em que o aplicativo precisa lidar diretamente com eventos de entrada. Esse sinalizador não aceita um valor. Esse sinalizador pode fazer com que o aplicativo falhe ou congele.
msWebView2CancelInitialNavigation Cancela a navegação inicial no WebView2 para melhorar o desempenho da inicialização.
msWebView2CodeCache Torna os recursos JavaScript carregados em um aplicativo WebView2 por meio SetVirtualHostNameToFolderMapping ou add_WebResourceRequested qualificados para cache de bytecode, o que deve acelerar a terceira carga e as subsequentes. Esse recurso também permite o cache de bytecode para quaisquer outros componentes que usam o mecanismo de interceptação de rede DevTools para fornecer respostas personalizadas; consulte Gerenciamento personalizado de solicitações de rede.
msWebView2EnableDownloadContentInWebResourceResponseReceived Permite que as respostas de navegações que se tornam downloads estejam disponíveis no WebResourceResponseReceivedformato .
msWebView2EnableDraggableRegions Recebe um true valor ou false . Se true, permite que as páginas da Web no WebView2 usem o estilo CSS, o que faz com que os app-region: drag\|nodrag elementos com esse estilo se comportem como uma barra de título. Se false, ou sem esse sinalizador, o app-region: drag\|nodrag estilo CSS não terá efeito.
msWebView2NativeEventDispatch Usa uma conexão nativa do mojo para despachar eventos internos, como mensagens da web para um processo de renderização.
msWebView2SimulateMemoryPressureWhenInactive Simula a pressão de memória para um WebView inativo.
msWebView2TextureStream Permite o streaming de quadros de vídeo capturados ou compostos para o controle WebView2, onde o JavaScript pode renderizar ou interagir com os quadros por meio de APIs DOM padrão do W3C, incluindo o elemento Video Embed e o MediaStream.
msWebView2TreatAppSuspendAsDeviceSuspend Quando todos os WebViews são suspensos, faz com que o WebView2 trate o aplicativo como se o dispositivo estivesse suspenso e pausa todas as tarefas atrasadas e temporizadores.
no-proxy-server Substitui quaisquer outros sinalizadores do servidor proxy passados.
net-log-capture-mode Define a granularidade de eventos a serem capturados no log de rede. Valores válidos: Default, IncludeSensitive, Everything.
no-network-profile-warning Faz com que o navegador avise se a UDF está em um compartilhamento de rede. Esse sinalizador só tem suporte no Windows. Esse sinalizador é ignorado em outras plataformas.
no-sandbox Desabilita a área restrita para todos os tipos de processo que normalmente são colocados em área restrita. Destinado a ser usado como um sinalizador no nível do navegador apenas para fins de teste.
no-first-run Ignora First-Run tarefas, independentemente de ser realmente a Primeira Execução, e ignora a exibição da página Novidades. Esse sinalizador é substituído por kForceFirstRun (para a First-Run OOBE (FRE) e por kForceWhatsNew (para exibir Novidades). Esse sinalizador não descarta o sentinela da Primeira Execução e, portanto, não impede que a experiência First-Run ocorra na próxima vez que o navegador Edge WebView for iniciado sem esse sinalizador. Esse sinalizador não atualiza o último marco de Novidades, portanto, não impede que as Novidades sejam exibidas na próxima vez que o navegador Edge WebView for iniciado sem esse sinalizador.
PartitionedCookies Permite que os sites aceitem ter seus cookies particionados pelo site de nível superior usando o Partitioned atributo. Os cookies particionados são enviados apenas quando o navegador está no mesmo site de nível superior em que estava quando o cookie foi definido.
proxy-auto-detect Força a detecção automática de proxy.
proxy-bypass-list Uma lista de hosts para os quais as configurações de proxy são ignoradas; Os hosts especificados usam conexões diretas. Esse sinalizador é ignorado, a menos que --proxy-server também seja especificado. Vários hosts podem ser fornecidos como uma lista separada por vírgulas.
proxy-server Um servidor proxy que substitui as configurações do sistema. Esse sinalizador afeta apenas as solicitações HTTP e HTTPS.
remote-allow-origins Permite conexões de soquete da Web somente das origens especificadas. O curinga * permite qualquer origem.
remote-debugging-port Habilita a depuração remota por HTTP na porta especificada.
RendererAppContainer Habilita o renderizador AppContainer.
Restart Indica que o processo do navegador Microsoft Edge WebView2 foi reiniciado (por exemplo, após uma alteração de sinalizador). Use esse sinalizador para ignorar o lançamento ao registrar a Launch.Mode2 métrica.
sdsm-state O estado "Modo de Segurança do Super Duper". Valores válidos: off, basic, balanced, strict.
SharedArrayBuffer Indica que há um SharedArrayBuffer thread.
SpareRendererForSitePerProcess Faz com que o processo de renderização sobressalente do Edge Webview tente sempre ter um processo de renderização sobressalente quente em execução para o solicitado BrowserContextmais recentemente. Esse recurso só é consultado no modo de site por processo.
ThirdPartyStoragePartitioning Habilita o particionamento de armazenamento de terceiros, como IndexedDB ou CacheStorage, pelo site de nível superior, para reduzir a impressão digital.
unsafely-treat-insecure-origin-as-secure Trata determinadas origens (inseguras) como origens seguras. Várias origens podem ser especificadas, como uma lista separada por vírgulas. Para obter a definição de contextos seguros, consulte Contextos seguros, incluindo a seção É origin potencialmente confiável?. Exemplo: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test.
use-fake-device-for-media-stream Usa um dispositivo falso para Media Stream para substituir uma câmera e um microfone reais.
use-fake-ui-for-media-stream Ignora a barra de informações do fluxo de mídia, selecionando o dispositivo padrão para fluxos de mídia (como WebRTC). Funciona com --use-fake-device-for-media-stream. Prefira usar --auto-accept-camera-and-microphone-capture em vez disso, que não interage com a captura de tela, como capturar uma guia do navegador.
use-system-proxy-resolver Usa WinHttp para resolver proxies em vez de usar a lógica normal de resolução de proxy do WebView2. Esse sinalizador só tem suporte no Windows.
user-agent Uma cadeia de caracteres usada para substituir o agente do usuário padrão por um agente de usuário personalizado.
user-data-migrated Indica que esse processo é o produto de um relançamento após a migração de dados do usuário.
UseBackgroundNativeThreadPool Faz com que o WebView2 ThreadPoolImpl use um ThreadGroup em segundo plano com suporte de uma implementação de pool de threads nativo.
UseNativeThreadPool Faz com que o WebView2 ThreadPoolImpl use um primeiro plano ThreadGroup com o suporte de uma implementação de pool de threads nativa.
V8Maglev Habilita o compilador Maglev. Isso só define o sinalizador V8 quando substituído manualmente; caso contrário, ele adia para qualquer que seja o padrão V8.

Confira também