Флаги браузера WebView2
Одним из способов взаимодействия с Microsoft Edge WebView2 и влияния является передача флагов браузера (аргументов или переключателей) в WebView2. Эти флаги браузера полезны для тестирования предстоящих функций и диагностики проблем.
Предупреждение
Приложения в рабочей среде не должны использовать флаги браузера WebView2, так как эти флаги могут быть удалены или изменены в любое время и не обязательно поддерживаются в долгосрочной перспективе.
Как правило, флаги принадлежат как Chromium, так и Microsoft Edge. Chromium флаги не принадлежат и не контролируются Microsoft Edge, поэтому Microsoft Edge не имеет контроля над тем, когда или как флаги удаляются или изменяются в их поведении.
Вы можете задать флаги браузера в локальной среде устройства или установить флаги браузера программными средствами с помощью кода. Оба подхода описаны ниже.
Настройка флагов браузера в локальной среде устройства
Чтобы протестировать предстоящие функции или диагностировать проблемы, рекомендуется использовать флаги браузера в локальной среде устройства, задать WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
переменную среды или разделы реестра. Дополнительные сведения см. в следующем справочнике по API Win32: CreateCoreWebView2EnvironmentWithOptions.
Установка флагов браузера программным способом с помощью кода
Вместо настройки флагов браузера в локальной среде устройства альтернативным подходом является установка флагов браузера программным способом, передавая флаги браузера в AdditionalBrowserArguments
качестве свойства CoreWebView2EnvironmentOptions
. Если флажки браузера заданы программным способом, обязательно удалите флаги в коде перед отправкой приложения, чтобы избежать случайной отправки флагов в рабочей среде.
-
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 запускается как System, браузер 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 |
Принудительно выполняет режим 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 версии 8. Более низкий предел памяти мусора сокращает использование памяти и увеличивает частоту запуска мелких сборщиков мусора. Более высокий предел памяти мусора увеличивает использование памяти и снижает частоту запуска мелких сборщиков мусора. |
lang |
Языковой файл, который webView2 требуется открыть. Языка формы[-страна], где язык является двухбуквенный код из ISO-639. |
log-net-log |
Позволяет сохранять события net log в файл. Если задано значение, оно используется в качестве пути к каталогу и имени файла. Если значение не задано, файл называется netlog.json и помещается в каталог данных пользователя. |
msAbydos |
Включает интерфейс "рукописный ввод в текст". |
msAbydosGestureSupport |
Позволяет пользователям использовать жесты (например, жест царапины) для удаления текста с помощью пера. Допустимо, только если msAbydos флаг включен. |
msAbydosHandwritingAttr |
Включен ли интерфейс "рукописный ввод в текст" для входных элементов на уровне DOM. Допустимо, только если msAbydos флаг включен. |
msAllowAmbientAuthInPrivateWebView2 |
Этот флаг следует использовать вместе с флагом msSingleSignOnForInPrivateWebView2 браузера, чтобы включить единый вход (SSO) с потоком учетных данных по умолчанию или потоком проверки подлинности в окружающей среде. |
msEdgeDesignerUI |
Используйте этот флаг, чтобы отключить приложение Designer Shoreline. Эта функция не поддерживается в WebView2. |
msEdgeHubAppDesigner |
Используйте этот флаг, чтобы отключить приложение Designer Shoreline. Эта функция не поддерживается в WebView2. |
msEdgeDesignerDriverFix |
Используйте этот флаг, чтобы отключить получение содержимого и автоматическое отображение функции Designer. Эта функция не поддерживается в WebView2. |
msEdgeFluentOverlayScrollbar |
Принудительно включает полосы прокрутки fluent overlay, переопределяя любое значение kFluentScrollbar , которое может храниться в данный момент. |
msEdgeDevToolsWdpRemoteDebugging |
Включает удаленную отладку. См . статью Удаленная отладка приложений WebView2 WinUI 2 (UWP),Удаленная отладка устройств Windows. |
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs |
Если этот флаг включен, AddWebResourceRequestedFilter метод (включая перегрузки) также будет применяться к внепроцессным iframe. .NET: AddWebResourceRequestedFilter WinRT: AddWebResourceRequestedFilter Win32: AddWebResourceRequestedFilterWithRequestSourceKinds |
msEnhancedTextContrast |
Улучшает контрастность текста и гамма-коррекцию, чтобы соответствовать качеству и ясности других собственных приложений Windows. При использовании этого флага отрисовка шрифта учитывает параметры пользовательского тюнера ClearType при применении повышения контрастности текста и гамма-коррекции. |
msEnhancedTrackingPreventionEnabled |
Включает собственные функции защиты конфиденциальности, такие как блокирование файлов cookie и веб-запросов, которые находятся в доменах, которые, как известно, являются доменами отслеживания. |
msFloatyMode |
Если false значение , отключает функцию Floaty. Используйте этот флаг, чтобы отключить функцию Floaty, так как WebView не поддерживает эксперименты по хранению в браузере. |
msFloatyShouldHonorIndiaHoldout |
Если true значение , учитывает группу удержания Индии. Используйте этот флаг , чтобы false отключить функцию Floaty, которая включена, если пользователь входит в группу удержаний Индии, так как WebView не поддерживает эксперименты по хранению в браузере. |
msOverlayScrollbarWinStyle |
Могут ли пользователи переходить между режимами наложения и без наложения для полос прокрутки Fluent. |
msPdfEnableAsPreview |
Эта функция позволяет запускать средство просмотра PDF с минимальной панелью инструментов и в режиме предварительного просмотра только для чтения. |
msSingleSignOnForInPrivateWebView2 |
Этот флаг включает поток единого входа (SSO) для сеансов InPrivate (инкогнито) WebView2. Включает единый вход на основе браузера в режиме InPrivate (инкогнито). |
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 |
Использует поддельные устройства для 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. |
См. также
- Введение в Microsoft Edge WebView2
- Справочник по API WebView2 . Ссылки на API для дополнительных платформ и языков, таких как WinRT/C++ (COM).