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

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

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

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

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

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

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

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

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

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

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

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

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

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

Следующие флаги браузера WebView2 доступны для использования во время разработки.

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

Flag Описание
accept-lang Указывает Accept-Language отправку на серверы и предоставление JavaScript через свойство DOM Navigator.language . Формат - language[-country], где language - 2-буквенный код из ISO-639.
allow-file-access-from-files Разрешает чтение file:// URI из других file:// URI.
allow-insecure-localhost Позволяет игнорировать ошибки TLS/SSL на localhost, чтобы не выполнялось межстраничное объявление и не блокировались запросы.
allow-run-as-system По умолчанию браузер веб-представления Edge закрывается, если он запущен от имени системы (запуск от имени системы не рекомендуется). Этот флаг обходит эту проверку, так что даже если браузер Edge WebView запускается как система, браузер Edge WebView не закрывается.
allow-running-insecure-content Включает небезопасный контент в среде выполнения Cast Web Runtime. Этот флаг разблокирует MSP, предоставляющие содержимое из источников HTTP.
auto-open-devtools-for-tabs Веб-представление Edge автоматически открывает окно средств разработчика для каждой вкладки. Для использования разработчиками и автоматизацией.
AutofillReplaceCachedWebElementsByRendererIds Заменяет кэшированные веб-элементы в AutofillAgent и FormTracker их идентификаторами рендереров.
autoplay-policy Имя флага командной строки для настройки политики автозапуска.
BlockInsecurePrivateNetworkRequests Когда эта функция включена, запросы частной сети, инициируемые из небезопасных контекстов в адресном public пространстве, блокируются.
block-new-web-contents Принимает true значение "или false ". Если true, все всплывающие окна и вызовы будут завершаться сбоем window.open . Если false, всплывающие окна и звонки 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-disable-interactive-dragging Отключает события указателя и фокуса, происходящие на элементах, имеющих атрибут.--app-region: drag Если этот флаг не установлен, элементы перетаскивания по умолчанию интерактивны.
edge-webview-enable-mojo-ipcz Включает MojoIpcz (mojo-ipcz) для приложений, использующих WebView2.
edge-webview-force-personal-context Заставляет процессы браузера Edge WebView выполняться в личном контексте WIP.
edge-webview-foreground-boost-opt-in Включение усиления переднего плана.
edge-webview-foreground-boost-opt-out Отказ от повышения переднего плана.
edge-webview-interactive-dragging Разрешает события указателя и фокуса возникать на элементах, имеющих атрибут.--app-region: drag Элементы перетаскивания по умолчанию интерактивны.
edge-webview-is-background Указывает, что WebView запускается в фоновом режиме.
edge-webview-no-dpi-workaround Отключает обходной путь "Оболочка совместимости приложений с поддержкой DPI", который запускает процесс браузера Edge WebView через оболочку, чтобы процесс не наследовал оболочку совместимости приложения.
edge-webview-run-with-package-id Запускает процессы WebView с удостоверением пакета (идентификатором пакета) для классического приложения, подключенного через мост.
edge-webview-run-without-package-id Выполняет процессы WebView без удостоверения пакета (идентификатора пакета) для классического приложения, подключенного через мост.
edge-webview-unique-window-class Позволяет WebView2 регистрировать классы окон, специфичные для модуля, путем автоматического добавления суффикса, полученного из имени файла клиентского модуля, без сведений о пути или расширении. Например, к имени EmbeddedBrowserWebView.dllфайла , Chrome_WidgetWin_0добавляется суффикс , EmbeddedBrowserWebView образующий Chrome_WidgetWin_0_EmbeddedBrowserWebView. Включите этот флаг, чтобы избежать сбоя, который может произойти, когда разные версии WebView2 и Chromium Embedded Framework (CEF) сосуществуют в одном процессе и пытаются взаимодействовать с окнами, которые имеют один и тот же класс.
embedded-browser-webview-dpi-awareness Устанавливает уровень осведомленности о DPI для процессов на стороне сервера.
enable-aggressive-domstorage-flushing Активация агрессивной очистки хранилища DOM для минимизации потери данных.
enable-blink-features enable-blink-features=DragAndDropJSFileObjectsпозволяет перетаскивать объекты, созданные File с помощью JavaScript, из элемента управления WebView2 в собственные приложения Windows и в другие приложения на базе движка браузера Chromium. В настоящее время ограничено типами MIME изображений. Без этого флага байты файла отбрасываются и в виде обычного текста выводится только имя файла. Files, доставляемые по этому пути, не получают Mark веб-маркировку.
enable-experimental-web-platform-features Включает функции веб-платформы, находящиеся в разработке.
enable-logging Включить ведение журнала на уровне ошибок.
force-color-profile Принудительно обрабатывать все мониторы так, как будто они имеют указанный цветовой профиль. Допустимые значения: srgb, generic-rgb.
force-device-scale-factor Переопределяет коэффициент масштабирования устройства для пользовательского интерфейса браузера Edge WebView и содержимого.
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 Применяет режим InPrivate (инкогнито), даже если каталог пользовательских данных указан с помощью флага --user-data-dir .
isolate-origins Требуются выделенные процессы для набора источников, указанных в виде списка через запятую. Пример: --isolate-origins=https://www.foo.com,https://www.bar.com.
js-flags Указывает флаги, передаваемые движку JS. Доступные флаги: scavenger_max_new_space_capacity_mb: указывает максимальный предел (в МБ) для сборщиков мусора мусора (вспомогательных) в движке JavaScript V8.
Более низкое ограничение памяти средства очистки уменьшает использование памяти и увеличивает частоту выполнения второстепенных сборщиков мусора.
Более высокое ограничение памяти средства очистки увеличивает использование памяти и снижает частоту выполнения второстепенных сборщиков мусора. Пример: --js-flags=--scavenger_max_new_space_capacity_mb=8.
lang Языковой файл, который WebView2 пытается открыть. языка формы[-страна], где языком является двухбуквенный код из ISO-639.
log-net-log Включает сохранение событий журнала net в файл. Если указано значение, оно используется в качестве пути к каталогу и имени файла. Если значение не указано, файл называется netlog.json, и он помещается в каталог пользовательских данных.
long-animation-frame-timing Предоставляет подробную информацию о времени для длинных анимационных кадров, превышающих стандартную длительность 16,67 мс (60 кадров в секунду). Это помогает во время отладки и анализа производительности выявлять и оптимизировать узкие места производительности для приложений с большим количеством анимации.
msAbydos Включает возможность преобразования рукописного текста в текст.
msAbydosGestureSupport Позволяет пользователям использовать жесты (например, жест вычеркивания) для удаления текста с помощью пера. Допустимо, msAbydos только если флаг включен.
msAbydosHandwritingAttr Включена ли возможность преобразования рукописного текста в текст для элементов ввода на уровне DOM. Допустимо, msAbydos только если флаг включен.
msAbydosForWindowlessWV2 Включает функциональность ShellHandwriting (Windows Shell Handwriting) в режиме размещения Window to Visual. Допустимо, msAbydos только если флаг включен. См. также Оконный и визуальный хостинг WebView2.
msAllowAmbientAuthInPrivateWebView2 Этот флаг следует использовать вместе с флагом msSingleSignOnForInPrivateWebView2 браузера, чтобы включить единый вход (SSO) с потоком учетных данных по умолчанию или потоком внешней аутентификации.
msEdgeDesignerDriverFix Включает получение содержимого и автоматическое отображение функции Designer. Функция Designer не поддерживается в WebView2.
msEdgeDesignerUI Включает приложение Designer Shoreline. Приложение Designer Shoreline не поддерживается в WebView2.
msEdgeDevToolsWdpRemoteDebugging Включает удаленную отладку. См. Удаленная отладка приложений WebView2 WinUI 2 (UWP),удаленная отладка устройств с Windows.
msEdgeFluentOverlayScrollbar Принудительно включает полосы прокрутки Fluent Overlay, переопределяя любое значение kFluentScrollbar , которое может содержаться в данный момент.
msEdgeHubAppDesigner Включает приложение Designer Shoreline. Приложение Designer Shoreline не поддерживается в WebView2.
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs Этот AddWebResourceRequestedFilter метод (включая перегрузки) применяется также к внепроцессным iframeм.
.NET: AddWebResourceRequestedFilter
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceTypes
msEnhancedTextContrast Улучшены функции повышения контрастности текста и гамма-коррекции, чтобы соответствовать качеству и четкости других собственных приложений Windows. При использовании этого флага при применении улучшения контрастности текста и гамма-коррекции при отображении шрифта учитываются пользовательские настройки тюнера ClearType.
msEnhancedTrackingPreventionEnabled Включает встроенные функции защиты конфиденциальности, такие как блокировка файлов cookie и веб-запросов, которые находятся в доменах, о которых известно, что они отслеживают домены.
msFloatyMode Принимает true значение "или false ". Если true, включает плавающую функцию. Если false, отключает функцию "Плавающий". Используйте этот флаг для отключения функции Floaty, так как WebView не поддерживает эксперименты с хранением браузера.
msFloatyShouldHonorIndiaHoldout Принимает true значение "или false ". Если true, чествует группу сопротивления Индии. Если false, отключает функцию Floaty, которая включена, если пользователь входит в группу протеста в Индии, так как WebView не поддерживает эксперименты с сохранением браузера.
msOverlayScrollbarWinStyle Возможность переключения между режимами наложения и без наложения для полос прокрутки Fluent.
msPageInteractionManagerWebview2 По умолчанию API диспетчера ограничений взаимодействия со страницей отключен для WebView2. Если приложению необходимо включить конфигурацию этого API в WebView2, приложение должно включить этот флаг.
msPdfEnableAsPreview Эта функция позволяет средству просмотра PDF-файлов запускаться с минимальной панелью инструментов и в режиме предварительного просмотра только для чтения.
msSingleSignOnForInPrivateWebView2 Этот флаг включает поток единого входа (SSO) для сеансов InPrivate (инкогнито) WebView2. Включает единый вход на основе браузера в режиме InPrivate (инкогнито).
msSingleSignOnOSForPrimaryAccountIsShared Разрешает неявный вход на веб-страницы Майкрософт с помощью любой учетной записи, используя сведения из основной учетной записи операционной системы.
msSmartScreenProtection Делает доступной защиту SmartScreen.
msUseSpellCheckCorrectionsCard Отображает пользовательский интерфейс карт исправлений, когда пользователь щелкает слово с ошибкой.
msWebViewAllowLocalNetworkAccessChecks Включает проверки безопасности доступа к локальной сети, ограничивающие доступ веб-содержимого из общедоступных источников к локальным ресурсам и ресурсам замкнутой сети, если это явно не разрешено. Отключено по умолчанию; должно быть включено приложением для настройки поведения доступа к локальной сети в WebView2.
Примечание. Этот флаг функции будет применяться до тех пор, пока API не будут полностью подключены и их внедрение не достигнет стабильного состояния, после чего этот флаг будет устаревшим.
msWebView2BrowserHitTransparent Вызывает передачу событий мыши и клавиатуры через элемент управления WebView2 в базовое приложение, чтобы приложение могло обрабатывать эти события вместо управления WebView2. Если этот флаг не включен, элемент управления WebView2 обрабатывает события мыши и клавиатуры; События не передаются в базовое приложение. Этот флаг позволяет проверить поведение приложения, когда элемент управления WebView2 не перехватывает события ввода, в сценариях, когда приложению необходимо обрабатывать события ввода напрямую. Этот флаг не принимает значения. Этот флаг может привести к сбою или зависанию приложения.
msWebView2CancelInitialNavigation Отменяет начальный переход в WebView2 для повышения производительности запуска.
msWebView2CodeCache Делает ресурсы JavaScript, загружаемые в приложении WebView2, доступными для SetVirtualHostNameToFolderMappingadd_WebResourceRequested кэширования байт-кода, что должно ускорить третью и последующие загрузки. Эта функция также включает кэширование байт-кода для любых других компонентов, использующих механизм перехвата сети DevTools для предоставления пользовательских ответов; см. Пользовательское управление сетевыми запросами.
msWebView2EnableDownloadContentInWebResourceResponseReceived Позволяет получать ответы о переходах, которые становятся загрузками, доступными в WebResourceResponseReceived.
msWebView2EnableDraggableRegions Принимает true значение "или false ". Если true, позволяет веб-страницам в WebView2 использовать app-region: drag\|nodrag стиль CSS, что приводит к тому, что элементы с этим стилем ведут себя как заголовок окна. Если false, или без этого флага app-region: drag\|nodrag , стиль CSS не оказывает влияния.
msWebView2NativeEventDispatch Использует собственное подключение mojo для отправки внутренних событий, таких как веб-сообщения, в процесс отрисовки.
msWebView2SimulateMemoryPressureWhenInactive Имитирует нехватку памяти для неактивного WebView.
msWebView2TextureStream Разрешает потоковую передачу захваченных или скомпонованных видеокадров в элемент управления WebView2, где JavaScript может обрабатывать кадры или иным образом взаимодействовать с ними через стандартные API DOM W3C, включая элемент Video Embed и MediaStream.
msWebView2TreatAppSuspendAsDeviceSuspend Когда все WebViews приостановлены, WebView2 обрабатывает приложение так, как будто устройство приостановлено, и приостанавливает все отложенные задачи и таймеры.
no-proxy-server Переопределяет любые другие передаваемые флаги прокси-сервера.
net-log-capture-mode Задает степень детализации событий для записи в журнале сети. Допустимые значения: Default, IncludeSensitive, Everything.
no-network-profile-warning Вызывает предупреждение браузера, если UDF находится в сетевой папке. Этот флаг поддерживается только в Windows; Этот флаг игнорируется на других платформах.
no-sandbox Отключает песочницу для всех типов процессов, которые обычно изолированы. Предназначен только для использования в качестве флага уровня браузера в целях тестирования.
no-first-run Пропускает First-Run задачи, независимо от того, является ли это действительно первым запуском, и пропускает страницу "Что нового". Этот флаг переопределяется с помощью kForceFirstRun (для интерфейса First-Run (FRE)) и с помощью kForceWhatsNew (для отображения новых возможностей). Этот флаг не отбрасывает сигнал первого запуска и, следовательно, не предотвращает First-Run при следующем запуске браузера веб-представления Edge без этого флага. Этот флаг не обновляет последнюю веху "Новые возможности", поэтому не препятствует отображению результатов "Новые возможности" при следующем запуске браузера веб-представления Edge без этого флага.
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 Состояние «Супер безопасный режим». Допустимые значения: 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 только при ручном переопределении; в противном случае он полагается на то, что установлено по умолчанию в V8.

См. также