Флаги браузера WebView2

Одним из способов взаимодействия с Microsoft Edge WebView2 и влияния является передача флагов браузера (аргументов или переключателей) в WebView2. Эти флаги браузера полезны для тестирования предстоящих функций и диагностики проблем.

Предупреждение

Приложения в рабочей среде не должны использовать флаги браузера WebView2, так как эти флаги могут быть удалены или изменены в любое время и не обязательно поддерживаются в долгосрочной перспективе.

Как правило, флаги принадлежат как Chromium, так и Microsoft Edge. Флаги Chromium не принадлежат и не контролируются Microsoft Edge, поэтому Microsoft Edge не имеет контроля над тем, когда или как флаги удаляются или изменяются в их поведении.

Вы можете задать флаги браузера в локальной среде устройства или установить флаги браузера программными средствами с помощью кода. Оба подхода описаны ниже.

Настройка флагов браузера в локальной среде устройства

Чтобы протестировать предстоящие функции или диагностировать проблемы, рекомендуется использовать флаги браузера в локальной среде устройства, задать WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS переменную среды или разделы реестра. Дополнительные сведения см. в следующем справочнике по API Win32: CreateCoreWebView2EnvironmentWithOptions.

Установка флагов браузера программным способом с помощью кода

Вместо настройки флагов браузера в локальной среде устройства альтернативным подходом является установка флагов браузера программным способом, передавая флаги браузера в AdditionalBrowserArguments качестве свойства CoreWebView2EnvironmentOptions. Если флажки браузера заданы программным способом, обязательно удалите флаги в коде перед отправкой приложения, чтобы избежать случайной отправки флагов в рабочей среде.

Доступные флаги браузера WebView2

Ниже приведены некоторые из используемых флагов.

Flag Описание
accept-lang Указывает для отправки Accept-Language на серверы и предоставления доступа к JavaScript с помощью свойства DOM Navigator.language . Формат — language[-country], где language — это двухбуквенный код из ISO-639.
allow-file-access-from-files Позволяет считывать file:// URI из других file:// URI.
allow-insecure-localhost Позволяет игнорировать ошибки TLS/SSL на localhost, чтобы не выполнялись промежуточные действия и не блокировались запросы.
allow-run-as-system По умолчанию браузер Edge WebView завершает работу при запуске от имени system (запуск от имени системы не рекомендуется). Этот флаг обходит эту проверку, поэтому даже если браузер Edge WebView запускается как Системный, браузер Edge WebView не завершает работу.
allow-running-insecure-content Включает небезопасное содержимое в веб-среде выполнения приведения. Этот флаг разблокирует msps, которые обслуживают содержимое из источников HTTP.
auto-open-devtools-for-tabs Позволяет браузеру Edge WebView автоматически открывать окно Средства разработки для каждой вкладки. Для использования разработчиками и средствами автоматизации.
AutofillReplaceCachedWebElementsByRendererIds Если этот параметр включен, кэшированные веб-элементы в AutofillAgent и FormTracker заменяются идентификаторами отрисовщика.
autoplay-policy Имя флага командной строки для задания политики автовоспроизведение.
BlockInsecurePrivateNetworkRequests Если эта функция включена, запросы частной сети, инициированные из небезопасных контекстов в адресном public пространстве, блокируются.
block-new-web-contents Если trueзадано значение , все всплывающие окна и вызовы завершаются ошибкой window.open .
BreakoutBoxPreferCaptureTimestampInVideoFrames Возвращает поведение Timestamp свойства класса в CoreWebView2Texture соответствии с устаревшим поведением среды выполнения WebView2 версии 124 и более ранних версий.
disable-background-timer-throttling Отключает регулирование задач таймера на фоновых страницах.
disable-domain-action-user-agent-override Отключает переопределение агента пользователя для каждого домена из функции Действия домена.
disable-gpu Отключает аппаратное ускорение GPU. Если программного отрисовщика нет, процесс GPU не запускается.
disable-gpu-driver-bug-workarounds Отключает обходные пути для различных ошибок драйвера GPU.
disable-site-isolation-trials Отключает изоляцию сайта.
disable-web-security Отключает политику разных источников и не применяет ту же политику источника. Используется только для тестирования веб-сайта.
disk-cache-size Принудительное использование кэшем диска максимального места на диске в байтах.
do-not-de-elevate Предотвращает отмену повышения прав webView2 при запуске. Используется после отмены повышения для предотвращения бесконечных циклов.
edge-webview-debugging-script Выполняет PostWebMessage скрипт асинхронно.
edge-webview-enable-mojo-ipcz Включает MojoIpcz (mojo-ipcz) для приложений, использующих WebView2.
edge-webview-foreground-boost-opt-in Указывает на повышение переднего плана.
edge-webview-foreground-boost-opt-out Отказ от увеличения переднего плана.
edge-webview-force-personal-context Принудительное выполнение процессов браузера Edge WebView в личном контексте WIP.
edge-webview-interactive-dragging Включает события указателя и события фокуса для элементов с атрибутом --app-region: drag . Перетаскивание элементов по умолчанию является интерактивным.
edge-webview-disable-interactive-dragging Отключает события указателя и события фокуса для элементов с атрибутом --app-region: drag . Если этот флаг не задан, перетаскивание элементов по умолчанию будет интерактивным.
edge-webview-is-background Указывает, что WebView запускается в фоновом режиме.
edge-webview-no-dpi-workaround Отключает обходной путь "Оболочка совместимости приложений уровня DPI", который запускает процесс браузера Edge WebView через оболочку, чтобы процесс не наследовал оболочку "app compat".
edge-webview-run-with-package-id Запускает процессы WebView с удостоверением пакета (идентификатором пакета) для мостового классического приложения.
edge-webview-run-without-package-id Выполняет процессы WebView без удостоверения пакета (идентификатора пакета) для мостового классического приложения.
embedded-browser-webview-dpi-awareness Задает уровень осведомленности о DPI для процессов на стороне сервера.
enable-experimental-web-platform-features Включает функции веб-платформы, которые находятся в разработке.
enable-logging Включите ведение журнала на уровне ошибки.
force-color-profile Принудительное обращение со всеми мониторами так, как если бы они имели указанный цветовой профиль. Допустимые значения: srgb, generic-rgb.
force-device-scale-factor Переопределяет коэффициент масштабирования устройства для пользовательского интерфейса браузера WebView Edge и содержимого.
force-fieldtrials Можно использовать для принудительного выполнения полевых испытаний при локальном тестировании изменений. Аргумент представляет собой список пар "имя-значение", разделенных косой чертой. Если имя пробной версии имеет префикс звездочки, эта пробная версия будет активирована. Например, следующий аргумент определяет две пробные версии с активированной второй: EdgeNow/Enable/*MaterialDesignNTP/Default/. Этот параметр также может использоваться процессом браузера для отправки списка пробных версий в процесс, отличный от браузера, используя тот же формат.
force-fieldtrial-params Может использоваться для принудительного применения параметров полевых проб при локальном тестировании изменений. Аргумент представляет собой список параметров пар (ключ, значение), с префиксом связанной пары (пробная версия, группа). Для нескольких пар (пробная версия, группа) используйте разделитель запятых.
force-renderer-accessibility Следует ли принудительно включить специальные возможности отрисовщика вместо включения специальных возможностей отрисовщика по запросу при обнаружении средства чтения с экрана. Флаг disable-renderer-accessibility переопределяет этот флаг, если disable-renderer-accessibility флаг присутствует.
HardwareMediaKeyHandling Позволяет обрабатывать аппаратные ключи мультимедиа для управления мультимедиа.
ignore-certificate-errors Игнорирует ошибки, связанные с сертификатом.
ignore-gpu-blocklist Следует ли игнорировать список блокировок GPU.
incognito Принудительно выполняет режим инкогнито, даже если каталог данных пользователя указан с помощью флага --user-data-dir .
isolate-origins Требуются выделенные процессы для набора источников, указанных в виде списка, разделенного запятыми. Например: --isolate-origins=https://www.foo.com,https://www.bar.com.
js-flags Указывает флаги, передаваемые обработчику JS.
lang Языковой файл, который webView2 требуется открыть. Языка формы[-страна], где язык является двухбуквенный код из ISO-639.
log-net-log Позволяет сохранять события net log в файл. Если задано значение, оно используется в качестве пути к каталогу и имени файла. Если значение не задано, файл называется netlog.jsonи помещается в каталог данных пользователя.
msAbydos Включает интерфейс "рукописный ввод в текст".
msAbydosGestureSupport Позволяет пользователям использовать жесты (например, жест царапины) для удаления текста с помощью пера. Допустимо, только если msAbydos флаг включен.
msAbydosHandwritingAttr Включен ли интерфейс "рукописный ввод в текст" для входных элементов на уровне DOM. Допустимо, только если msAbydos флаг включен.
msEdgeDesignerUI Используйте этот флаг, чтобы отключить приложение Designer Shoreline. Эта функция не поддерживается в WebView2.
msEdgeHubAppDesigner Используйте этот флаг, чтобы отключить приложение Designer Shoreline. Эта функция не поддерживается в WebView2.
msEdgeDesignerDriverFix Используйте этот флаг для отключения получения содержимого и автоматического отображения функции конструктора. Эта функция не поддерживается в WebView2.
msEdgeFluentOverlayScrollbar Принудительно включает полосы прокрутки fluent overlay, переопределяя любое значение kFluentScrollbar , которое может храниться в данный момент.
msEdgeDevToolsWdpRemoteDebugging Включает удаленную отладку. См . статью Удаленная отладка приложений WebView2 WinUI 2 (UWP),Удаленная отладка устройств Windows.
msEnhancedTextContrast Улучшает контрастность текста и гамма-коррекцию, чтобы соответствовать качеству и ясности других собственных приложений Windows. При использовании этого флага отрисовка шрифта учитывает параметры пользовательского тюнера ClearType при применении повышения контрастности текста и гамма-коррекции.
msEnhancedTrackingPreventionEnabled Включает собственные функции защиты конфиденциальности, такие как блокирование файлов cookie и веб-запросов, которые находятся в доменах, которые, как известно, являются доменами отслеживания.
msFloatyMode Если falseзначение , отключает функцию Floaty. Используйте этот флаг, чтобы отключить функцию Floaty, так как WebView не поддерживает эксперименты по хранению в браузере.
msFloatyShouldHonorIndiaHoldout Если trueзначение , учитывает группу удержания Индии. Используйте этот флаг , чтобы falseотключить функцию Floaty, которая включена, если пользователь входит в группу удержаний Индии, так как WebView не поддерживает эксперименты по хранению в браузере.
msOverlayScrollbarWinStyle Могут ли пользователи переходить между режимами наложения и без наложения для полос прокрутки Fluent.
msPdfEnableAsPreview Эта функция позволяет запускать средство просмотра PDF с минимальной панелью инструментов и в режиме предварительного просмотра только для чтения.
msSingleSignOnOSForPrimaryAccountIsShared Если этот параметр включен, разрешает неявный вход на веб-страницы Майкрософт с помощью любой учетной записи, используя сведения из основной учетной записи ОС.
msSmartScreenProtection Если этот параметр включен, будет доступна защита SmartScreen.
msUseSpellCheckCorrectionsCard Если этот параметр включен, новый пользовательский интерфейс карточки исправлений отображается, когда пользователь щелкает слово с ошибкой.
msWebView2CancelInitialNavigation Если этот параметр включен, отменяет начальную навигацию в WebView2, чтобы повысить производительность запуска.
msWebView2CodeCache Если этот параметр включен, ресурсы JavaScript, которые загружаются в приложение WebView2 через SetVirtualHostNameToFolderMapping или add_WebResourceRequested могут кэшировать байт-коды, что должно ускорить третью и последующие загрузки. Эта функция также позволяет кэширование байт-кода для любых других компонентов, использующих механизм перехвата сети DevTools для предоставления пользовательских ответов (см . раздел Пользовательское управление сетевыми запросами).
msWebView2EnableDownloadContentInWebResourceResponseReceived Если этот параметр включен, разрешите доступ к ответам навигации, которые становятся скачивающими файлами, в WebResourceResponseReceived
msWebView2TextureStream Если этот параметр включен, позволяет выполнять потоковую передачу захваченных или составных видеокадров в WebView2, где JavaScript может отрисовывать кадры или иным образом взаимодействовать с ними с помощью стандартных API DOM W3C, включая элемент Video и MediaStream.
msWebView2EnableDraggableRegions Если trueзадано значение , веб-страницы в WebView2 используют app-region: drag\|nodrag стиль CSS, что приводит к тому, что элементы с этим стилем будут вести себя как строка заголовка. Без этого флага app-region: drag\|nodrag стиль CSS не будет действовать.
msWebView2CodeCache Если этот параметр включен, ресурсы JavaScript, которые загружаются в приложение WebView2 через SetVirtualHostNameToFolderMapping или add_WebResourceRequested могут кэшировать байт-коды, что должно ускорить третью и последующие загрузки. Эта функция также позволяет кэширование байт-кода для любых других компонентов, использующих механизм перехвата сети DevTools для предоставления пользовательских ответов.
msWebView2NativeEventDispatch Если этот параметр включен, использует собственное подключение mojo для отправки внутренних событий, таких как веб-сообщения, в процесс отрисовщика.
msWebView2SimulateMemoryPressureWhenInactive Если этот параметр включен, имитирует нехватку памяти для неактивного WebView.
msWebView2TreatAppSuspendAsDeviceSuspend Если этот параметр включен, при приостановке всех веб-представлений WebView2 обрабатывает приложение так, как будто устройство приостановлено, и приостанавливает все отложенные задачи и таймеры.
no-proxy-server Переопределяет все переданные флаги прокси-сервера.
net-log-capture-mode Задает степень детализации событий для записи в журнал сети. Допустимые значения: Default, IncludeSensitive, Everything.
no-network-profile-warning Если этот параметр включен, браузер предупреждает, если определяемая пользователем функция находится в общей сетевой папке. Этот флаг поддерживается только в Windows; этот флаг игнорируется на других платформах.
no-sandbox Отключает песочницу для всех типов процессов, которые обычно находятся в изолированной среде. Предназначено для использования в качестве флага уровня браузера только для тестирования.
no-first-run Пропускает First-Run задач, независимо от того, является ли это на самом деле первым запуском, и пропускает отображение страницы "Новые возможности". Этот флаг переопределяется kForceFirstRun (для First-Run experience (FRE)) и kForceWhatsNew (для отображения новых возможностей). Этот флаг не удаляет sentinel первого запуска и, следовательно, не предотвращает выполнение First-Run при следующем запуске браузера Edge WebView без этого флага. Этот флаг не обновляет последнюю веху "Новые возможности", поэтому не препятствует отображению новых элементов при следующем запуске браузера Edge WebView без этого флага.
PartitionedCookies Если этот параметр включен, сайты могут согласиться на секционирование файлов cookie по сайту верхнего уровня с помощью атрибута Partitioned . Секционированные файлы cookie отправляются только в том случае, если браузер находится на том же сайте верхнего уровня, на который он находился при настройке файла cookie.
proxy-auto-detect Принудительное автоматическое обнаружение прокси-сервера.
proxy-bypass-list Список узлов, для которых пропускаются параметры прокси-сервера; затем указанные узлы используют прямые подключения. Этот флаг игнорируется, если --proxy-server также не указан. Несколько узлов можно указать в виде списка, разделенного запятыми.
proxy-server Прокси-сервер, который переопределяет параметры системы. Этот флаг влияет только на HTTP- и HTTPS-запросы.
remote-allow-origins Включает подключения только к веб-сокетам из указанных источников. Подстановочный * знак разрешает любой источник.
remote-debugging-port Включает удаленную отладку по протоколу HTTP на указанном порту.
RendererAppContainer Включает отрисовщик AppContainer.
Restart Указывает, что процесс браузера Microsoft Edge WebView2 был перезапущен (например, после изменения флага). Используйте этот флаг, чтобы игнорировать запуск при записи Launch.Mode2 метрики.
sdsm-state Состояние "Режим безопасности Super Duper". Допустимые значения: off, basic, balanced, strict.
SharedArrayBuffer Если этот параметр включен, указывает SharedArrayBuffer на наличие потока.
SpareRendererForSitePerProcess Если этот флаг включен, процесс резервного отрисовщика Edge Webview пытается всегда выполнять теплый резервный процесс отрисовщика для последнего запрошенного BrowserContext. Эта функция доступна только в режиме "сайт для каждого процесса".
ThirdPartyStoragePartitioning Позволяет секционировать стороннее хранилище, например IndexedDB или CacheStorage, сайтом верхнего уровня, чтобы уменьшить отпечаток.
unsafely-treat-insecure-origin-as-secure Обрабатывает заданные (небезопасные) источники как безопасные. Можно указать несколько источников в виде списка, разделенного запятыми. Определение безопасных контекстов см. в разделе Безопасные контексты, включая раздел Является ли origin потенциально надежным?. Пример: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test
use-fake-device-for-media-stream Использует поддельное устройство для Media Stream для замены фактической камеры и микрофона.
use-fake-ui-for-media-stream Обходит информационную панель потока мультимедиа, выбрав устройство по умолчанию для потоков мультимедиа (например, WebRTC). Работает с --use-fake-device-for-media-stream. Предпочитайте использовать --auto-accept-camera-and-microphone-capture вместо этого, который не взаимодействует с захватом экрана, например захват вкладки браузера.
use-system-proxy-resolver Использует WinHttp для разрешения прокси-серверов вместо обычной логики разрешения прокси-сервера WebView2. Этот флаг поддерживается только в Windows.
user-agent Строка, используемая для переопределения агента пользователя по умолчанию пользовательским агентом пользователя.
user-data-migrated Указывает, что этот процесс является результатом перезапуска после переноса пользовательских данных.
UseBackgroundNativeThreadPool Если это включено, WebView2 ThreadPoolImpl будет использовать фоновую ThreadGroup, поддерживаемую реализацией собственного пула потоков.
UseNativeThreadPool Если этот параметр включен, WebView2 ThreadPoolImpl использует передний план ThreadGroup , который поддерживается реализацией собственного пула потоков.
V8Maglev Включает компилятор Maglev. Флаг V8 устанавливается только при переопределении вручную. В противном случае он будет отложен до любого значения по умолчанию версии 8.

См. также