Partilhar via


Sinalizadores do browser WebView2

Uma das formas de interagir com o Microsoft Edge WebView2 e o comportamento de impacto é ao transmitir sinalizadores do browser (argumentos ou comutadores) para o WebView2. Estes sinalizadores do browser são úteis para testar funcionalidades futuras e para diagnosticar problemas.

Aviso

As aplicações em produção não devem utilizar sinalizadores do browser WebView2, uma vez que estes sinalizadores podem ser removidos ou alterados a qualquer momento e não são necessariamente suportados a longo prazo.

Geralmente, os sinalizadores pertencem ao Chromium e ao Microsoft Edge. Chromium sinalizadores não são propriedade ou controlados pelo Microsoft Edge, pelo que o Microsoft Edge não tem controlo sobre quando ou como os sinalizadores são removidos ou alterados no seu comportamento.

Pode definir sinalizadores de browser no ambiente do dispositivo local ou definir sinalizadores do browser programaticamente através de código. Ambas as abordagens são descritas abaixo.

Definir sinalizadores do browser no seu ambiente de dispositivo local

Para testar as funcionalidades futuras ou diagnosticar problemas, recomendamos a utilização de sinalizadores de browser no seu ambiente de dispositivo local, através da definição da variável de WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS ambiente ou através de chaves de registo. Para obter mais informações, veja a seguinte Referência da API Win32: CreateCoreWebView2EnvironmentWithOptions.

Definir sinalizadores do browser programaticamente através de código

Em vez de definir sinalizadores de browser no seu ambiente de dispositivo local, uma abordagem alternativa é definir sinalizadores do browser programaticamente ao passar os sinalizadores do browser como propriedade AdditionalBrowserArguments de CoreWebView2EnvironmentOptions. Se definir sinalizadores de browser programaticamente, certifique-se de que remove os sinalizadores no código antes de enviar a sua aplicação, para evitar enviar acidentalmente os sinalizadores em produção.

Sinalizadores do browser WebView2 disponíveis

Seguem-se algumas das bandeiras que vimos utilizadas.

Flag Descrição
accept-lang Accept-Language Especifica para enviar para servidores e expor para JavaScript através da propriedade DOM Navigator.language. O formato é language[-country], onde language está o código de duas letras de ISO-639.
allow-file-access-from-files Permite a leitura file:// de URIs de outros file:// URIs.
allow-insecure-localhost Permite que os erros TLS/SSL no localhost sejam ignorados, para que não seja feito nenhum interstitial e não seja feito nenhum bloqueio de pedidos.
allow-run-as-system Por predefinição, o browser Edge WebView sai se for iniciado como Sistema (a iniciação como Sistema não é recomendada). Este sinalizador ignora esse marcar, para que, mesmo que o browser Edge WebView seja iniciado como Sistema, o browser Edge WebView não saia.
allow-running-insecure-content Ativa conteúdos inseguros no Runtime web cast. Este sinalizador desbloqueia MSPs que servem conteúdos de origens HTTP.
auto-open-devtools-for-tabs Faz com que o Edge WebView abra automaticamente a janela DevTools para cada separador. Para utilização por programadores e por automatização.
AutofillReplaceCachedWebElementsByRendererIds Se estiver ativado, substitui os elementos Web em cache em AutofillAgent e FormTracker pelos respetivos IDs de compositor.
autoplay-policy Nome do sinalizador da linha de comandos para definir a política de reprodução automática.
BlockInsecurePrivateNetworkRequests Quando esta funcionalidade está ativada, os pedidos de rede privada iniciados a partir de contextos não seguros no public espaço de endereços são bloqueados.
block-new-web-contents Se true, todos os pop-ups e chamadas para window.open falhar.
BreakoutBoxPreferCaptureTimestampInVideoFrames Reverte o comportamento da Timestamp propriedade da CoreWebView2Texture classe para corresponder ao comportamento legado da versão 124 e anterior do WebView2 Runtime.
disable-background-timer-throttling Desativa a limitação de tarefas de temporizador a partir de páginas de fundo.
disable-domain-action-user-agent-override Desativa a substituição do Agente de Utilizador por domínio da funcionalidade Ações de Domínio.
disable-gpu Desativa a aceleração de hardware da GPU. Se um compositor de software não estiver implementado, o processo de GPU não é iniciado.
disable-gpu-driver-bug-workarounds Desativa as soluções para vários erros do controlador de GPU.
disable-site-isolation-trials Desativa o isolamento do site.
disable-web-security Desativa a política de várias origens e não impõe a política de origem idêntica. Utilize apenas para testes de sites.
disk-cache-size Força o espaço máximo em disco a ser utilizado pela cache do disco, em bytes.
do-not-de-elevate Impede a eliminação da elevação do WebView2 ao iniciar. Utilizado após a eliminação da elevação, para evitar ciclos infinitos.
edge-webview-debugging-script Executa PostWebMessage o script de forma assíncrona.
edge-webview-enable-mojo-ipcz Ativa o MojoIpcz (mojo-ipcz) para aplicações que utilizam o WebView2.
edge-webview-foreground-boost-opt-in Opts-in to foreground boost.
edge-webview-foreground-boost-opt-out Opts-out of foreground boost.
edge-webview-force-personal-context Força os processos do browser Edge WebView a serem executados no contexto pessoal do WIP.
edge-webview-interactive-dragging Permite que eventos de ponteiro e eventos de foco ocorram em elementos com o --app-region: drag atributo . Os elementos de arrastar são interativos por predefinição.
edge-webview-disable-interactive-dragging Desativa a ocorrência de eventos de ponteiro e eventos de foco em elementos que têm o --app-region: drag atributo . Se este sinalizador não estiver definido, os elementos de arrastar são interativos por predefinição.
edge-webview-is-background Indica que o WebView está a ser iniciado em segundo plano.
edge-webview-no-dpi-workaround Desativa a solução "Shim de compatibilidade da aplicação de deteção de DPI", que inicia o processo do browser Edge WebView através de uma shell, para que o processo não herda o shim "app compat".
edge-webview-run-with-package-id Executa processos WebView com uma identidade de pacote (ID do pacote) para uma aplicação de Ambiente de Trabalho com bridge.
edge-webview-run-without-package-id Executa processos WebView sem uma identidade de pacote (ID de pacote) para uma aplicação de Ambiente de Trabalho com bridge.
embedded-browser-webview-dpi-awareness Define o nível de deteção de DPI dos processos do lado do servidor.
enable-experimental-web-platform-features Ativa as funcionalidades da Plataforma Web que estão em desenvolvimento.
enable-logging Ative o registo ao nível do erro.
force-color-profile Forçar todos os monitores a serem tratados como se tivessem o perfil de cor especificado. Valores válidos: srgb, generic-rgb.
force-device-scale-factor Substitui o fator de dimensionamento do dispositivo para a IU do browser Edge WebView e os conteúdos.
force-fieldtrials Pode ser utilizado para forçar as tentativas de campo ao testar as alterações localmente. O argumento é uma lista de pares nome/valor, separados por barras reencaminhadas. Se um nome de avaliação tiver um prefixo com um asterisco, essa versão de avaliação será iniciada ativada. Por exemplo, o argumento seguinte define duas tentativas, com a segunda ativada: EdgeNow/Enable/*MaterialDesignNTP/Default/. Esta opção também pode ser utilizada pelo processo do browser para enviar a lista de avaliações para um processo que não seja do browser, utilizando o mesmo formato.
force-fieldtrial-params Pode ser utilizado para forçar parâmetros de avaliações de campo ao testar as alterações localmente. O argumento é uma lista de parâmetros de pares (chave, valor), com o prefixo de um par associado (avaliação, grupo). Para vários pares (avaliação, grupo), utilize um separador de vírgulas.
force-renderer-accessibility Se pretende forçar a acessibilidade do compositor a ser ativada, em vez de ativar a acessibilidade do compositor a pedido quando um leitor de ecrã é detetado. O disable-renderer-accessibility sinalizador substitui este sinalizador, se o disable-renderer-accessibility sinalizador estiver presente.
HardwareMediaKeyHandling Permite o processamento de chaves de multimédia de hardware para controlar os suportes de dados.
ignore-certificate-errors Ignora erros relacionados com o certificado.
ignore-gpu-blocklist Se pretende ignorar a lista de bloqueios de GPU.
incognito Força o modo Incógnito mesmo que o diretório de dados do utilizador seja especificado com o --user-data-dir sinalizador .
isolate-origins Exigir processos dedicados para um conjunto de origens, especificado como uma lista separada por vírgulas. Por exemplo: --isolate-origins=https://www.foo.com,https://www.bar.com.
js-flags Especifica os sinalizadores transmitidos ao motor JS.
lang O ficheiro de idioma que o WebView2 quer tentar abrir. Da linguagem de formulário[-país] em que o idioma é o código de duas letras de ISO-639.
log-net-log Permite guardar eventos de registo de rede num ficheiro. Se for atribuído um valor, esse valor é utilizado como o caminho do diretório e o nome do ficheiro. Se não for dado nenhum valor, o ficheiro é denominado netlog.jsone é colocado no diretório de dados do utilizador.
msAbydos Ativa a experiência "escrita manual em texto".
msAbydosGestureSupport Permite que os utilizadores utilizem gestos (como o gesto de rascunho) para eliminar texto utilizando uma caneta. Válido apenas se o msAbydos sinalizador estiver ativado.
msAbydosHandwritingAttr Se a experiência "escrita manual em texto" está ativada para elementos de entrada ao nível do DOM. Válido apenas se o msAbydos sinalizador estiver ativado.
msEdgeDesignerUI Utilize este sinalizador para desativar a Aplicação Designer Shoreline. Esta funcionalidade não é suportada no WebView2.
msEdgeHubAppDesigner Utilize este sinalizador para desativar a Aplicação Designer Shoreline. Esta funcionalidade não é suportada no WebView2.
msEdgeDesignerDriverFix Utilize este sinalizador para desativar a obtenção de conteúdo e mostrar automaticamente a funcionalidade Designer. Esta funcionalidade não é suportada no WebView2.
msEdgeFluentOverlayScrollbar Force-enables Fluent Overlay scrollbars, substituindo qualquer valor kFluentScrollbar que possa conter no momento.
msEdgeDevToolsWdpRemoteDebugging Ativa a depuração remota. Veja Depuração remota de aplicações WebView2 WinUI 2 (UWP), Depurarremotamente dispositivos Windows.
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs Se este sinalizador estiver ativado, o AddWebResourceRequestedFilter método (incluindo sobrecargas) também se aplicará a iframes fora do processo.
.NET: AddWebResourceRequestedFilter
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceKinds
msEnhancedTextContrast Melhora o melhoramento do contraste de texto e a correção gama para corresponder à qualidade e clareza de outras aplicações nativas do Windows. Quando este sinalizador é utilizado, a composição do tipo de letra respeita as definições do Sintonizador ClearType ao aplicar melhorias de contraste de texto e correção gama.
msEnhancedTrackingPreventionEnabled Ativa funcionalidades de proteção de privacidade nativas, tais como bloquear cookies e pedidos Web que residem em domínios conhecidos por serem domínios de controlo.
msFloatyMode Se false, desativa a funcionalidade Floaty. Utilize este sinalizador para desativar a funcionalidade Floaty, porque o WebView não suporta experimentações de retenção do browser.
msFloatyShouldHonorIndiaHoldout Se true, honra o grupo de retenção da Índia. Utilize este sinalizador, definido como false, para desativar a funcionalidade Floaty que está ativada se o utilizador fizer parte do grupo de retenção da Índia, porque o WebView não suporta experimentações de retenção do browser.
msOverlayScrollbarWinStyle Se os utilizadores podem alterar entre os modos de sobreposição e não sobreposição para barras de deslocamento Fluent.
msPdfEnableAsPreview Estas funcionalidades permitem ao visualizador de PDF iniciar com uma barra de ferramentas mínima e no modo de pré-visualização só de leitura.
msSingleSignOnOSForPrimaryAccountIsShared Se estiver ativada, permite o início de sessão implícito em páginas Web da Microsoft através de qualquer conta, utilizando as informações da conta de SO principal.
msSmartScreenProtection Se estiver ativada, a proteção SmartScreen estará disponível.
msUseSpellCheckCorrectionsCard Se estiver ativada, é apresentada uma nova correção card IU quando o utilizador clica numa palavra com erro ortográfico.
msWebView2CancelInitialNavigation Se estiver ativada, cancela a navegação inicial no WebView2 para melhorar o desempenho do arranque.
msWebView2CodeCache Se estiver ativado, os recursos JavaScript que são carregados numa aplicação WebView2 através SetVirtualHostNameToFolderMapping do ou add_WebResourceRequested são elegíveis para colocação em cache bytecode, o que deve acelerar a terceira e posterior cargas. Esta funcionalidade também permite a colocação em cache de bytecode para quaisquer outros componentes que utilizem o mecanismo de intercepção de rede DevTools para fornecer respostas personalizadas (veja Gestão personalizada de pedidos de rede).
msWebView2EnableDownloadContentInWebResourceResponseReceived Se estiver ativada, permita que as respostas de navegação que se tornam transferências estejam disponíveis no WebResourceResponseReceived
msWebView2TextureStream Se estiver ativado, permite transmitir em fluxo fotogramas de vídeo capturados ou compostos para o WebView2, onde o JavaScript pode compor ou interagir com os frames através de APIs DOM padrão W3C, incluindo o elemento Vídeo e o MediaStream.
msWebView2EnableDraggableRegions Se true, ativar páginas Web no WebView2, utilize o estilo CSS, o app-region: drag\|nodrag que faz com que os elementos com esse estilo se comportem como uma barra de título. Sem este sinalizador, o app-region: drag\|nodrag estilo CSS não tem efeito.
msWebView2CodeCache Se estiver ativado, os recursos JavaScript que são carregados numa aplicação WebView2 através SetVirtualHostNameToFolderMapping do ou add_WebResourceRequested são elegíveis para colocação em cache bytecode, o que deve acelerar a terceira e posterior cargas. Esta funcionalidade também permite a colocação em cache bytecode para quaisquer outros componentes que utilizem o mecanismo de intercepção de rede DevTools para fornecer respostas personalizadas.
msWebView2NativeEventDispatch Se estiver ativada, utiliza uma ligação mojo nativa para enviar eventos internos, como mensagens Web para um processo de composição.
msWebView2SimulateMemoryPressureWhenInactive Se estiver ativada, simula a pressão da memória para um WebView inativo.
msWebView2TreatAppSuspendAsDeviceSuspend Se estiver ativado, quando todos os WebViews estiverem suspensos, o WebView2 trata a aplicação como se o dispositivo estivesse suspenso e coloca em pausa todas as tarefas e temporizadores atrasados.
no-proxy-server Substitui quaisquer outros sinalizadores de servidor proxy que são transmitidos.
net-log-capture-mode Define a granularidade dos eventos a capturar no registo de rede. Valores válidos: Default, , IncludeSensitiveEverything.
no-network-profile-warning Se estiver ativado, o browser avisa se o UDF está numa partilha de rede. Este sinalizador só é suportado no Windows; este sinalizador é ignorado noutras plataformas.
no-sandbox Desativa o sandbox para todos os tipos de processo que normalmente são em sandbox. Destina-se a ser utilizado como um sinalizador ao nível do browser apenas para fins de teste.
no-first-run Ignora First-Run tarefas, independentemente de ser realmente a Primeira Execução, e ignora a apresentação da página Novidades. Este sinalizador é substituído por kForceFirstRun (para a Experiência de First-Run (FRE)) e por kForceWhatsNew (para apresentar Novidades). Este sinalizador não larga o sentinel da Primeira Execução e, portanto, não impede que a experiência de First-Run ocorra da próxima vez que o browser Edge WebView for iniciado sem este sinalizador. Este sinalizador não atualiza o último marco Novidades, pelo que não impede que as Novidades sejam apresentadas da próxima vez que o browser Edge WebView for iniciado sem este sinalizador.
PartitionedCookies Quando ativado, os sites podem optar ativamente por ter os cookies particionados pelo site de nível superior com o Partitioned atributo . Os cookies particionados só são enviados quando o browser está no mesmo site de nível superior em que estava quando o cookie foi definido.
proxy-auto-detect Força a deteção automática do proxy.
proxy-bypass-list Uma lista de anfitriões para os quais as definições de proxy são ignoradas; em seguida, os anfitriões especificados utilizam ligações diretas. Este sinalizador é ignorado, a menos que --proxy-server também seja especificado. Vários anfitriões podem ser fornecidos como uma lista separada por vírgulas.
proxy-server Um servidor proxy que substitui as definições do sistema. Este sinalizador só afeta pedidos HTTP e HTTPS.
remote-allow-origins Ativa ligações de socket Web apenas a partir das origens especificadas. O * caráter universal permite qualquer origem.
remote-debugging-port Ativa a depuração remota através de HTTP na porta especificada.
RendererAppContainer Ativa o Compositor AppContainer.
Restart Indica que o processo do browser Microsoft Edge WebView2 foi reiniciado (por exemplo, após uma alteração do sinalizador). Utilize este sinalizador para ignorar a iniciação ao gravar a Launch.Mode2 métrica.
sdsm-state O estado "Modo seguro do Super Duper". Valores válidos: off, , basicbalanced, strict.
SharedArrayBuffer Se estiver ativado, indica que está presente um SharedArrayBuffer thread.
SpareRendererForSitePerProcess Se este sinalizador estiver ativado, o processo do compositor sobressalente do Edge Webview tenta ter sempre um processo de composição sobressalente a quente em execução para o mais recente pedido BrowserContext. Esta funcionalidade só é consultada no modo site por processo.
ThirdPartyStoragePartitioning Permite a criação de partições 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 as origens fornecidas (inseguras) como origens seguras. Podem ser especificadas múltiplas origens, como uma lista separada por vírgulas. Para obter a definição de contextos seguros, veja Contextos Seguros, incluindo a secção É origin potencialmente fidedigno?. Exemplo: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test
use-fake-device-for-media-stream Utiliza um dispositivo falso para multimédia Stream para substituir uma câmara e um microfone reais.
use-fake-ui-for-media-stream Ignora a barra de informações de fluxo de multimédia ao selecionar o dispositivo predefinido para fluxos de multimédia (como o WebRTC). Funciona com --use-fake-device-for-media-stream. Em vez disso, prefere utilizar --auto-accept-camera-and-microphone-capture , o que não interage com a captura de ecrã, como capturar um separador do browser.
use-system-proxy-resolver Utiliza WinHttp para resolve proxies em vez de utilizar a lógica de resolução de proxy normal do WebView2. Este sinalizador só é suportado no Windows.
user-agent Uma cadeia utilizada para substituir o agente de utilizador predefinido por um agente de utilizador personalizado.
user-data-migrated Indica que este processo é o produto de um relançamento após a migração de dados de utilizador.
UseBackgroundNativeThreadPool Se esta opção estiver ativada, WebView2 ThreadPoolImpl utilizará um ThreadGroup em segundo plano apoiado por uma implementação de conjunto de threads nativo.
UseNativeThreadPool Se estiver ativado, o WebView2 ThreadPoolImpl utiliza um primeiro plano ThreadGroup que é apoiado por uma implementação de conjunto de threads nativo.
V8Maglev Ativa o compilador Maglev. Isto só define o sinalizador V8 quando é substituído manualmente; caso contrário, adia para qualquer que seja a predefinição V8.

Confira também