Обзор функций и API WebView2
Внедрение элемента управления WebView2 в приложение предоставляет приложению доступ к различным методам и свойствам, предоставляемым через классы или интерфейсы WebView2. WebView2 содержит сотни API- интерфейсов, которые предоставляют широкий набор возможностей, начиная от расширения возможностей собственной платформы приложения до предоставления приложению возможности изменять возможности браузера. В этой статье представлена высокоуровневая группировка API WebView2, которая поможет вам понять, что можно сделать с помощью WebView2.
Обзор областей функций верхнего уровня
При размещении элемента управления WebView2 приложение имеет доступ к следующим функциям и API:
Функциональная область | Назначение |
---|---|
Основные классы: Среда, Контроллер и Core | Классы CoreWebView2Environment , CoreWebView2Controller и CoreWebView2 (или эквивалентные интерфейсы) работают вместе, чтобы в приложении можно было разместить элемент управления браузера WebView2 и получить доступ к функциям браузера. Эти большие классы предоставляют широкий спектр API- интерфейсов, к которым может получить доступ ваше ведущее приложение, чтобы предоставить пользователям следующие категории функций, связанных с браузером. |
Взаимодействие между веб-интерфейсом и собственным интерфейсом | Внедрение веб-содержимого в собственные приложения. Обмен данными между машинным и веб-кодом с помощью простых сообщений, кода JavaScript и собственных объектов. |
Функции браузера | Элемент управления WebView2 предоставляет приложению доступ ко многим функциям браузера. Вы можете изменить эти функции браузера, включить или отключить их. |
Управление процессами | Получите сведения о выполнении процессов WebView2, выходе из процессов и сбоях процессов, чтобы ваше приложение смогла принять соответствующие меры. |
Переход к страницам и управление загруженным содержимым | Управление переходом к веб-страницам и управление содержимым, загруженным на веб-страницах. |
Iframes | Внедрение других веб-страниц в собственную веб-страницу. Определите, когда создаются внедренные веб-страницы, определите, когда внедренные веб-страницы перемещаются, и при необходимости обходить параметры x-frame. |
Проверка подлинности | Приложение может обрабатывать обычную проверку подлинности с помощью элемента управления WebView2. Обычная проверка подлинности — это особый подход к проверке подлинности, который является частью протокола HTTP. |
Отрисовка WebView2 в приложениях, отличных от платформы | Используйте эти API для настройки системы отрисовки WebView2, если в ведущем приложении не используется платформа пользовательского интерфейса. Эта настройка отрисовки определяет, как WebView2 отрисовывает выходные данные в хост-приложении и как WebView2 обрабатывает входные данные, фокус и специальные возможности. |
Отрисовка WebView2 с использованием композиции | Для отрисовки WebView2 на основе композиции используйте для CoreWebView2Environment создания CoreWebView2CompositionController . CoreWebView2CompositionController предоставляет те же API, что и CoreWebView2Controller , но также включает API для отрисовки на основе композиции. |
Параметры среды | Данные пользователя. Управление папкой пользовательских данных (UDF), которая является папкой на компьютере пользователя. UDF содержит данные, связанные с ведущим приложением и WebView2. Приложения WebView2 используют папки данных пользователей для хранения данных браузера, таких как файлы cookie, разрешения и кэшированные ресурсы. Управление несколькими профилями в рамках одной пользовательской функции. Выбор среды выполнения поддерживает предварительное тестирование и самостоятельное размещение. Вы можете указать порядок поиска для каналов предварительного просмотра браузера и указать каналы предварительного просмотра браузера. |
Производительность и отладка | Анализ и отладка производительности, обработка событий, связанных с производительностью, а также управление использованием памяти для повышения скорости реагирования приложения. |
Протокол Chrome DevTools (CDP) | Инструментирование, проверка, отладка и профилирование браузеров на основе Chromium. Протокол Chrome DevTools (CDP) является основой для Microsoft Edge DevTools. Используйте протокол Chrome DevTools для функций, которые не реализованы на платформе WebView2. |
На этой странице перечислены только API, которые находятся в пакетах SDK для выпуска; В нем нет списка экспериментальных API или стабильных API, которые еще не доступны в пакетах SDK для выпуска. Полный список API, включая экспериментальные API, см. в заметках о выпуске пакета SDK для WebView2.
Основные классы: Среда, Контроллер и Core
Классы CoreWebView2Environment
, CoreWebView2Controller
и CoreWebView2
(или эквивалентные интерфейсы) работают вместе, чтобы в приложении можно было разместить элемент управления браузера WebView2 и получить доступ к функциям браузера. Эти три больших класса предоставляют широкий спектр API, к которым может получить доступ ведущее приложение, чтобы предоставить пользователям множество категорий функций, связанных с браузером.
- Класс
CoreWebView2Environment
представляет группу элементов управления WebView2, которые используют один и тот же процесс браузера WebView2, папку данных пользователя и процессы отрисовщика. Из этогоCoreWebView2Environment
класса создаются пары экземпляровCoreWebView2Controller
иCoreWebView2
. - Класс
CoreWebView2Controller
отвечает за функциональные возможности, связанные с размещением, такие как фокус окна, видимость, размер и ввод, где в приложении размещается элемент управления WebView2. - Класс
CoreWebView2
предназначен для веб-частей элемента управления WebView2, включая сеть, навигацию, скрипт, а также анализ и отрисовку HTML.
См. также:
Взаимодействие между веб-интерфейсом и собственным интерфейсом
Элемент управления Microsoft Edge WebView2 позволяет внедрять веб-содержимое в собственные приложения. Вы можете взаимодействовать между машинным и веб-кодом с помощью простых сообщений, кода JavaScript и машинных объектов. Ниже приведены main API для взаимодействия между веб-кодом и машинным кодом.
Подразделы ниже:
- Общий доступ к объектам узла или веб-сайта
- Выполнение скрипта
- Веб-обмен сообщениями
- Диалоговые окна скриптов
- Общий буфер
Распространенные варианты использования веб-взаимодействия или собственного взаимодействия:
- Обновите заголовок окна собственного узла после перехода на другой веб-сайт.
- Отправьте собственный объект камеры и используйте его методы из веб-приложения.
- Запустите выделенный файл JavaScript на веб-стороне приложения.
См. также:
- Взаимодействие собственного и веб-кода
- Вызов веб-кода из машинного кода
- Вызов собственного кода из веб-кода
- Вызов собственного кода WinRT из веб-кода
- API JavaScript в WebView2 для
window.chrome.webview
API JavaScript
Общий доступ к объектам узла или веб-сайта
WebView2 позволяет передавать объекты, определенные в машинном коде, в веб-код приложения. Объекты узла — это любые объекты, определенные в машинном коде, которые вы решили передать в веб-код приложения.
Объекты узла можно проецировать в JavaScript, чтобы можно было вызывать собственные методы объектов (или другие API) из веб-кода приложения. Например, приложение может вызывать такие API в результате взаимодействия с пользователем на веб-стороне приложения. Таким образом, вам не нужно повторно выполнять API собственных объектов, такие как методы или свойства, в веб-коде.
CoreWebView2
Класса:CoreWebView2Settings
Класса:
Выполнение скрипта
Позволяет ведущему приложению добавлять код JavaScript в веб-содержимое в элементе управления WebView2.
CoreWebView2
Класса:- Класс CoreWebView2ExecuteScriptResult
CoreWebView2Frame
Класса:- Класс CoreWebView2ScriptException
CoreWebView2Settings
Класса:
Веб-обмен сообщениями
Приложение может отправлять сообщения в веб-содержимое, которое находится в элементе управления WebView2, и получать сообщения из этого веб-содержимого. Сообщения отправляются в виде строк или объектов JSON.
CoreWebView2
Класса:- Класс CoreWebView2WebMessageReceivedEventArgs
CoreWebView2Settings
Класса:CoreWebView2Frame
Класса:- Класс CoreWebView2File
Диалоговые окна скриптов
При размещении WebView2 приложение может управлять различными диалогами JavaScript, подавлять их или заменять пользовательскими диалогами.
CoreWebView2
Класса:- Класс CoreWebView2ScriptDialogOpeningEventArgs
Общий буфер
API SharedBuffer поддерживает буферы общего доступа между процессом ведущего приложения WebView2 и процессом отрисовщика WebView2 на основе общей памяти из ОС.
CoreWebView2
Класса:CoreWebView2Environment
Класса:CoreWebView2Frame
Класса:- Класс CoreWebView2SharedBuffer
- Перечисление CoreWebView2SharedBufferAccess
ReadOnly
ReadWrite
Функции браузера
Элемент управления WebView2 предоставляет приложению доступ ко многим функциям браузера. Вы можете изменить эти функции браузера, включить или отключить их.
Подразделы ниже:
- Печать
- Файлы cookie
- Захват изображений
- Загружаемые файлы
- Разрешения
- Контекстные меню
- Строка состояния
- Агент пользователя
- Автозаполнение
- Audio
- Тестирование нажатий щелчков мыши в регионах
- Навигация с помощью жестов прокрутки
- Включение или отключение ответа браузера на клавиши акселератора (сочетания клавиш)
- Полноэкранный
- Панель инструментов PDF
- Визуальные темы
- Language
- Новое окно
- Закрыть окно
- Название документа
- Значок
- Безопасность и конфиденциальность
Печать
Веб-страницу можно распечатать на принтере, в PDF-файле или в потоке PDF, настроив настраиваемые параметры печати.
См. также:
CoreWebView2
Класса:CoreWebView2Environment
Класса:- Класс CoreWebView2PrintSettings
- Перечисление CoreWebView2PrintDialogKind
- Перечисление CoreWebView2PrintStatus
Файлы cookie
Файлы cookie в WebView2 можно использовать для управления сеансами пользователей, сохранения настроек персонализации пользователей и отслеживания поведения пользователей.
См. также:
CoreWebView2
Класса:- Класс CoreWebView2Cookie
- Класс CoreWebView2CookieManager
CoreWebView2Profile
Класса:
Захват изображений
Размещая WebView2, приложение может записывать снимки экрана и указывать, какой формат следует использовать для сохранения изображения.
CoreWebView2
Класса:
Загрузки
Приложение может управлять процессом скачивания в WebView2. Ваше приложение может:
- Разрешить или заблокировать скачивание на основе разных метаданных.
- Измените расположение скачивания.
- Настройка пользовательского пользовательского интерфейса загрузки.
- Настройка пользовательского интерфейса по умолчанию.
Общие:
CoreWebView2
Класса:
Изменение интерфейса по умолчанию:
CoreWebView2
Класса:CoreWebView2Profile
Класса:
Пользовательский интерфейс загрузки:
Разрешения
Различные веб-страницы могут запрашивать разрешения на доступ к некоторым привилегированным ресурсам, таким как датчик геолокации, камера и микрофон. Ведущее приложение может программно отвечать на запросы разрешений и может заменить пользовательский интерфейс разрешений по умолчанию собственным пользовательским интерфейсом.
CoreWebView2
Класса:CoreWebView2Frame
Класса:- Перечисление CoreWebView2PermissionKind
CoreWebView2PermissionRequestedEventArgs
Класса:- Класс CoreWebView2PermissionSetting
CoreWebView2Profile
Класса:
Контекстные меню
Элемент управления WebView2 предоставляет контекстное меню по умолчанию (контекстное меню), которое можно настроить или отключить, а также создать собственное контекстное меню.
См. также:
CoreWebView2
Класса:- Класс CoreWebView2ContextMenuItem
- Класс CoreWebView2ContextMenuRequestedEventArgs
- Класс CoreWebView2ContextMenuTarget
CoreWebView2Environment
Класса:CoreWebView2Settings
Класса:
Строка состояния
Строка состояния находится в левом нижнем углу страницы и отображает состояние отображаемой веб-страницы. В WebView2 можно включить или отключить строку состояния, получить текст в строке состояния и узнать, когда текст строки состояния изменился.
CoreWebView2
Класса:CoreWebView2Settings
Класса:
Агент пользователя
Агент пользователя — это строка, представляющая удостоверение программы от имени пользователя, например имя браузера. В WebView2 можно задать агент пользователя.
См. также:
- Обнаружение Windows 11 с помощью User-Agent клиентских подсказок
- Переопределение строки агента пользователя
CoreWebView2Settings
Класса:
Автозаполнение
Приложение может независимо контролировать, включена ли функция автозаполнения браузера для общих сведений или паролей.
CoreWebView2Settings
Класса:
"Audio" (Аудио);
Ваше приложение может отключить и включить весь звук, а также узнать, когда воспроизводимый звук.
Тестирование нажатий щелчков мыши в регионах
Предоставляет результаты тестирования попадания в регионах, содержащихся в WebView2. Полезно для визуально размещенных приложений, которые хотят обрабатывать события мыши в не клиентской области окна WebView2.
CoreWebView2CompositionController
Класса:CoreWebView2NonClientRegionChangedEventArgs
Класса:Перечисление CoreWebView2NonClientRegionKind
Caption
Client
Nowhere
CoreWebView2Settings
Класса:
Навигация с помощью жестов прокрутки
Размещая элемент управления WebView2, приложение может включать или отключать навигацию с помощью жестов прокрутки на устройствах с поддержкой сенсорного ввода. Этот жест позволяет конечным пользователям:
- Проведите пальцем влево или вправо (по горизонтали), чтобы перейти к предыдущей или следующей странице в журнале навигации.
- Потяните, чтобы обновить текущую страницу (проведите по вертикали).
В настоящее время эта функция отключена по умолчанию в браузере. Чтобы включить эту функцию в WebView2, задайте AdditionalBrowserArguments
свойство , указав --pull-to-refresh
параметр .
CoreWebView2Settings
Класса:CoreWebView2EnvironmentOptions
Класса:
Включение или отключение ответа браузера на клавиши акселератора (сочетания клавиш)
ICoreWebView2AcceleratorKeyPressedEventArgs
IsBrowserAcceleratorKeyEnabled
имеет свойство, позволяющее управлять тем, обрабатывает ли браузер клавиши акселератора (сочетания клавиш), такие как CTRL+P или F3.
См. также:
CoreWebView2AcceleratorKeyPressedEventArgs
Класса:
Полноэкранный
В WebView2 можно узнать, когда ЭЛЕМЕНТ HTML входит в полноэкранное представление или покидает его.
Панель инструментов PDF
В средстве просмотра PDF-файлов браузера в верхней части находится панель инструментов для конкретного PDF-файла. В WebView2 некоторые элементы можно скрыть на панели инструментов средства просмотра PDF.
CoreWebView2Settings
Класса:
Темы
В WebView2 можно настроить цветовую тему как системную, светлую или темную.
CoreWebView2Profile
Класса:
Язык
Свойство Language
задает язык интерфейса WebView2 по умолчанию, который применяется к пользовательскому интерфейсу браузера (например, контекстным меню и диалоговым окнам), а также задает accept-language
http-заголовок, который WebView2 отправляет веб-сайтам.
Свойство ScriptLocale
позволяет ведущему приложению задать языковой стандарт по умолчанию для всех Intl
API JavaScript и других зависимых от него API JavaScript, таких как Intl.DateTimeFormat()
, что влияет на форматирование строк в форматах времени и даты.
CoreWebView2EnvironmentOptions
Класса:CoreWebView2ControllerOptions
Класса:
Новое окно
WebView2 предоставляет функциональные возможности для обработки функции window.open()
JavaScript .
Закрыть окно
WebView2 предоставляет функциональные возможности для обработки функции window.close()
JavaScript .
CoreWebView2
Класса:CoreWebView2Controller
Класса:
Название документа
Приложение может определить, когда изменилось название текущего документа верхнего уровня.
CoreWebView2
Класса:
Значок
В WebView2 можно задать Favicon для веб-сайта или получать уведомления о его изменениях.
CoreWebView2
Класса:
Безопасность и конфиденциальность
Предотвращение отслеживания
Предотвращение отслеживания позволяет ведущему приложению контролировать уровень предотвращения отслеживания элемента управления WebView2, связанного с профилем пользователя.
CoreWebView2EnvironmentOptions
Класса:CoreWebView2Profile
Класса:- Перечисление CoreWebView2TrackingPreventionLevel
None
Basic
Balanced
Strict
Smartscreen
Microsoft Defender SmartScreen ("SmartScreen") включен по умолчанию. Свойство IsReputationCheckingRequired
определяет, включен ли SmartScreen.
Если вы не отключите SmartScreen, необходимо уведомить всех пользователей о том, что ваше программное обеспечение включает в себя Microsoft Defender SmartScreen, а также собирает и отправляет в корпорацию Майкрософт сведения о пользователе, как описано в Заявлении о конфиденциальности Майкрософт и Техническом документе о конфиденциальности Microsoft Edge.
См. также:
- SmartScreen в разделе Данные и конфиденциальность в WebView2.
CoreWebView2Settings
Класса:
Настраиваемые отчеты о сбоях
Если какой-либо процесс WebView2 завершает работу, создается один или несколько файлов minidump и отправляются в Корпорацию Майкрософт для диагностики. Используйте этот API для настройки отчетов о сбоях при выполнении диагностика и выполнении анализа.
- Чтобы предотвратить отправку аварийных дампов в Корпорацию Майкрософт, задайте для свойства значение
IsCustomCrashReportingEnabled
false
. - Чтобы найти аварийные дампы и выполнить их настройку
CrashDumpFolderPath
, используйте свойство .
См. также:
- Настраиваемые отчеты о сбоях в данных и конфиденциальности в WebView2.
- Файлы Minidump
CoreWebView2EnvironmentOptions
Класса:CoreWebView2Environment
Класса:
Расширения браузера
Приложение может внедрить элемент управления WebView2, использующий расширения браузера (надстройки). Расширение Microsoft Edge — это небольшое приложение, которое разработчики используют для добавления или изменения функций Microsoft Edge, чтобы улучшить работу пользователя при просмотре.
См. также:
CoreWebView2EnvironmentOptions
Класса:CoreWebView2Profile
Класса:
Управление процессами
Получите сведения о выполнении процессов WebView2, выходе из процессов и сбоях процессов, чтобы ваше приложение смогла принять соответствующие меры.
Подразделы ниже:
CoreWebView2
Класса:- Класс CoreWebView2BrowserProcessExitedEventArgs
CoreWebView2Environment
Класса:- Класс CoreWebView2ProcessFailedEventArgs
- Перечисление CoreWebView2ProcessFailedKind
- Перечисление CoreWebView2ProcessFailedReason
- Класс CoreWebView2ProcessInfo
Сведения о процессе кадра
API сведений о кадрах, включая GetProcessExtendedInfos
, предоставляет snapshot коллекцию всех кадров, которые активно выполняются в связанном процессе отрисовщика. Этот API позволяет приложению определять, какая часть WebView2 потребляет ресурсы, например память или ЦП.
CoreWebView2Environment
Класса:CoreWebView2ProcessExtendedInfo
Класса:CoreWebView2
Класса:CoreWebView2Frame
Класса:CoreWebView2FrameInfo
Класса:
Переход к страницам и управление загруженным содержимым
С помощью элемента управления WebView2 приложение может управлять переходом на веб-страницы и содержимым, загруженным на веб-страницах.
Подразделы ниже:
- Управление содержимым, загруженным в WebView2
- Журнал навигации
- Вид навигации
- Блокировка нежелательного перехода
- События навигации
- Управление сетевыми запросами в WebView2
- Регистрация пользовательской схемы
- Сертификаты клиента
- Сертификаты сервера
- Запуск схемы внешнего URI
Управление содержимым, загруженным в WebView2
Эти API загружают, останавливают загрузку и перезагрузку содержимого в WebView2. Загружаемое содержимое может быть следующим:
- Содержимое из URL-адреса.
- Строка HTML.
- Сопоставление локального содержимого через имя виртуального узла с локальной папкой.
- Содержимое из созданного сетевого запроса.
См. также:
CoreWebView2
Класса:- Метод CoreWebView2.ClearVirtualHostNameToFolderMapping
- Метод CoreWebView2.Navigate
- Метод CoreWebView2.NavigateToString
- Метод CoreWebView2.NavigateWithWebResourceRequest
- Метод CoreWebView2.Reload
- Метод CoreWebView2.SetVirtualHostNameToFolderMapping
- Метод CoreWebView2.Stop
- Событие CoreWebView2.WebResourceRequested
CoreWebView2Settings
Класса:
Журнал навигации
Методы журнала обеспечивают обратную и прямую навигацию в WebView2, а события журнала предоставляют сведения об изменениях в журнале и в текущем источнике WebView2.
Вид навигации
NavigationKind
получает тип навигации для каждой навигации, например "Назад/вперед", "Перезагрузка" или переход к новому документу.
CoreWebView2NavigationStartingEventArgs
Класса:- Перечисление CoreWebView2NavigationKind
Блокировка нежелательного перехода
Событие NavigationStarting
позволяет приложению отменить переход по указанным URL-адресам в WebView2, в том числе для кадров.
CoreWebView2
Класса:- Событие CoreWebView2.NavigationStarting
- Событие CoreWebView2.FrameNavigationStarting — заменено; вместо этого используйте
CoreWebView2Frame.NavigationStarting
CoreWebView2Frame
Класса:- Класс CoreWebView2NavigationStartingEventArgs
События навигации
С помощью NavigationStarting
и других событий навигации приложение может быть проинформировано о состоянии навигации в WebView2. Навигация — это процесс загрузки нового URL-адреса.
См. также:
CoreWebView2
Класса:- Событие CoreWebView2.ContentLoading
- Событие CoreWebView2.DOMContentLoaded
- Событие CoreWebView2.FrameNavigationCompleted — заменено; вместо этого используйте
CoreWebView2Frame.NavigationCompleted
. - Событие CoreWebView2.NavigationCompleted
- Класс CoreWebView2ContentLoadingEventArgs
- Класс CoreWebView2DOMContentLoadedEventArgs
CoreWebView2Frame
Класса:- Класс CoreWebView2NavigationCompletedEventArgs
Управление сетевыми запросами в WebView2
Событие WebResourceRequested
позволяет приложению перехватывать и переопределять все сетевые запросы в WebView2. Событие WebResourceResponseReceived
позволяет приложению отслеживать отправленный запрос и ответ, полученный из сети.
См. также:
CoreWebView2
Класса:
Регистрация пользовательской схемы
Позволяет CustomSchemeRegistration
регистрировать пользовательские схемы в WebView2, чтобы приложение хозяйки WebResourceRequested
обрабатывал события для запросов к этим URL-адресам пользовательских схем и переходить webView2 по таким URL-адресам.
- Класс CoreWebView2CustomSchemeRegistration
CoreWebView2EnvironmentOptions
Класса:
Сертификаты клиента
В WebView2 можно использовать API сертификата клиента, чтобы выбрать сертификат клиента на уровне приложения. Этот API позволяет:
- При необходимости отобразите пользователю пользовательский интерфейс.
- Замените диалоговое окно сертификата клиента по умолчанию.
- Программный запрос сертификатов.
- Выберите сертификат из списка, чтобы ответить серверу, когда WebView2 выполняет запрос к HTTP-серверу, которому требуется сертификат клиента для проверки подлинности HTTP.
Сертификаты сервера
В WebView2 можно использовать API сертификата сервера, чтобы доверять TLS-сертификату сервера на уровне приложения. Таким образом, главное приложение может отрисовыть страницу, не запрашивая у пользователя ошибку TLS, или ведущее приложение может автоматически отменить запрос.
Запуск схемы внешнего URI
Запустите схему URI, зарегистрированную в ОС.
CoreWebView2
Класса:- Класс CoreWebView2LaunchingExternalUriSchemeEventArgs
- CoreWebView2LaunchingExternalUriSchemeEventArgs.Cancel Property
- CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property
- Свойство CoreWebView2LaunchingExternalUriSchemeEventArgs.IsUserInitiated
- Свойство CoreWebView2LaunchingExternalUriSchemeEventArgs.Uri
- Метод CoreWebView2LaunchingExternalUriSchemeEventArgs.GetDeferral
Iframes
Iframes позволяет внедрять другие веб-страницы в собственную веб-страницу. В WebView2 вы можете:
- Узнайте, когда создаются iframes.
- Узнайте, когда iframes переходят.
- Разрешить обход параметров X-кадра.
См. также:
Проверка подлинности
Приложение может обрабатывать обычную проверку подлинности с помощью элемента управления WebView2. Обычная проверка подлинности — это особый подход к проверке подлинности, который является частью протокола HTTP.
См. также:
Отрисовка WebView2 в приложениях, отличных от платформы
Используйте эти API для настройки системы отрисовки WebView2, если в ведущем приложении не используется платформа пользовательского интерфейса. Эта настройка отрисовки определяет, как WebView2 отрисовывает выходные данные в хост-приложении и как WebView2 обрабатывает входные данные, фокус и специальные возможности.
Когда следует использовать эти API
Платформа пользовательского интерфейса . Если вы используете платформу пользовательского интерфейса для приложения, следует использовать элемент WebView2, предоставляемый этой платформой пользовательского интерфейса, а не эти API.
Нет платформы пользовательского интерфейса и не используется композиция . Если вы не используете платформу пользовательского интерфейса для приложения (например, если вы используете только Win32 напрямую) или если у вашей платформы пользовательского интерфейса нет элемента WebView2, необходимо создать
CoreWebView2Controller
и отобразить его в приложении, используя эти API в этом разделе.Нет платформы пользовательского интерфейса и использование композиции . Если пользовательский интерфейс приложения создан с помощью DirectComposition или Windows.UI.Composition, следует использовать
CoreWebView2CompositionController
вместо этих API. См. раздел Отрисовка WebView2 с помощью композиции ниже.
Подразделы ниже:
- Определение размера, позиционирование и видимость
- Масштабирование
- Масштаб растеризации
- Фокус и табуляция
- Родительское окно
- Ускорители клавиатуры
- Цвет фона по умолчанию
CoreWebView2Controller
Класса:CoreWebView2Environment
Класса:
Определение размера, позиционирование и видимость
CoreWebView2Controller
принимает родительский HWND
объект . Свойство Bounds
размеров и позиционирует WebView2 относительно родительского HWND
объекта . Видимость WebView2 можно переключить с помощью IsVisible
.
CoreWebView2Controller
Класса:
Масштабирование
WebView2 ZoomFactor
используется для масштабирования только веб-содержимого окна. Масштабирование пользовательского интерфейса также обновляется, когда пользователь масштабирует содержимое, нажимая клавиши CTRL при повороте колесика мыши.
CoreWebView2Controller
Класса:CoreWebView2Settings
Класса:
Масштаб растеризации
API RasterizationScale масштабирует весь пользовательский интерфейс WebView2, включая контекстные меню, подсказки и всплывающие окна. Приложение может задать, должен ли WebView2 обнаруживать изменения масштаба монитора и автоматически обновлять RasterizationScale. BoundsMode
используется для настройки того, интерпретируется ли свойство Bounds как необработанные пиксели или dips (которые необходимо масштабировать с помощью RasterizationScale
).
Фокус и табуляция
Элемент управления WebView2 вызывает события, чтобы сообщить приложению, когда элемент управления получает фокус или теряет фокус. Для перехода на вкладки (нажатие клавиши TAB ) существует API для перемещения фокуса в WebView2 и событие для WebView2 для запроса приложения на возврат фокуса.
Родительское окно
WebView2 можно повторно иродовать в другой дескриптор родительского окна (HWND
). WebView2 также необходимо уведомлять о том, что положение приложения на экране изменилось.
CoreWebview2Controller
Класса:
Ускорители клавиатуры
Когда WebView2 имеет фокус, он напрямую получает входные данные от пользователя. Приложение может захотеть перехватывать и обрабатывать определенные сочетания клавиш акселератора (сочетания клавиш) или отключать обычное поведение клавиш акселератора браузера.
См. также включение или отключение браузера, отвечающего на клавиши акселератора (сочетания клавиш) выше.
- Класс CoreWebView2AcceleratorKeyPressedEventArgs
CoreWebView2Controller
Класса:CoreWebView2Settings
Класса:
Цвет фона по умолчанию
WebView2 может указать цвет фона по умолчанию. Цвет может быть любым непрозрачным или прозрачным. Этот цвет будет использоваться, если HTML-страница не задает собственный цвет фона.
CoreWebView2Controller
Класса:
Отрисовка WebView2 с использованием композиции
Для отрисовки WebView2 на основе композиции используйте для CoreWebView2Environment
создания CoreWebView2CompositionController
. CoreWebView2CompositionController
предоставляет те же API, что и CoreWebView2Controller
, но также включает API для отрисовки на основе композиции.
Подразделы ниже:
- Подключение к визуальному дереву
- Переадресация входных данных
- Перетаскивание
- Специальные возможности
- Класс CoreWebView2CompositionController
CoreWebView2Environment
Класса:
Подключение к визуальному дереву
WebView2 может подключать свое дерево композиции к idCompositionVisual, IDCompositionTarget или Windows::UI::Composition::ContainerVisual
.
CoreWebView2CompositionController
Класса:
Переадресация входных данных
Пространственные входные данные (мышь, сенсорный ввод, перо) принимаются приложением и должны быть отправлены в WebView2. WebView2 уведомляет приложение о том, когда курсор следует обновить в зависимости от положения мыши.
CoreWebView2CompositionController
Класса:CoreWebView2Environment
Класса:- Класс CoreWebView2PointerInfo
Перетаскивание
Перетаскивание из элемента управления WebView2 в другое приложение поддерживается по умолчанию. Однако для перетаскивания в элемент управления WebView2 требуется, чтобы, когда ведущее приложение получает событие из системы, ведущее приложение должно пересылать IDropTarget
событие в элемент управления WebView2. Перетаскивание в элемент управления WebView2 включает операции перетаскивания, которые полностью находятся в элементе управления WebView2.
Используйте следующие API для пересылки IDropTarget
событий из системы в элемент управления WebView2.
CoreWebView2CompositionController
Класса:
Специальные возможности
По умолчанию WebView2 будет отображаться в дереве специальных возможностей как дочерний элемент родительского HWND для приложений Win32/C++. WebView2 предоставляет API для лучшего расположения содержимого WebView2 по сравнению с другими элементами в приложении.
Параметры среды
Подразделы ниже:
Данные пользователя
Управление папкой пользовательских данных (UDF), которая является папкой на компьютере пользователя. UDF содержит данные, связанные с ведущим приложением и WebView2. Приложения WebView2 используют папки данных пользователей для хранения данных браузера, таких как файлы cookie, разрешения и кэшированные ресурсы.
Подразделы ниже:
См. также:
CoreWebView2Environment
Класса:CoreWebView2EnvironmentOptions
Класса:
Очистка данных браузера:
CoreWebView2Profile
Класса:- Перечисление CoreWebView2BrowsingDataKinds
Несколько профилей
Управление несколькими профилями в одной папке данных пользователя.
См. также:
Create объект options, определяющий профиль:
CoreWebView2Environment
Класса:- Класс CoreWebView2ControllerOptions
Create элемент управления WebView2, использующий профиль:
CoreWebView2Environment
Класса:
Доступ к профилю и управление им:
CoreWebView2
Класса:- Класс CoreWebView2Profile
Удаление профиля
Приложение может удалять профили пользователей для элемента управления веб-браузера WebView2.
См. также:
CoreWebView2Profile
Класса:
Выбор среды выполнения
Выбор среды выполнения поддерживает предварительное тестирование и самостоятельное размещение. При создании среды WebView2:
- Чтобы указать порядок поиска для каналов предварительного просмотра браузера, используйте
CoreWebView2EnvironmentOptions.ChannelSearchKind
свойство . - Чтобы указать каналы предварительного просмотра браузера, используйте
CoreWebView2EnvironmentOptions.ReleaseChannels
свойство .
См. также:
CoreWebView2EnvironmentOptions
Класса:Перечисление CoreWebView2ChannelSearchKind
MostStable
LeastStable
Перечисление CoreWebView2ReleaseChannels
None
Stable
Beta
Dev
Canary
Производительность и отладка
Анализ и отладка производительности, обработка событий, связанных с производительностью, а также управление использованием памяти для повышения скорости реагирования приложения.
Подразделы ниже:
Целевой объект использования памяти
Задает уровни потребления памяти, например low
или normal
.
Протокол Chrome DevTools (CDP)
Протокол Chrome DevTools (CDP) предоставляет API для инструментирования, проверки, отладки и профилирования Chromium браузеров. Протокол Chrome DevTools является основой для Microsoft Edge DevTools. Используйте протокол Chrome DevTools для функций, которые не реализованы на платформе WebView2.
См. также:
Открыть:
CoreWebView2Settings
Класса:CoreWebView2
Класса:
Вызова:
CoreWebView2
Класса:
Приемник:
См. также
- Введение в Microsoft Edge WebView2
- Справочник по API WebView2 . Ссылки на API для дополнительных платформ и языков, таких как WinRT/C++ (COM).