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.
-
CoreWebView2EnvironmentOptions
Classe:
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.json e é 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 , , IncludeSensitive Everything . |
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 , , basic balanced , 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
- 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).