Фреймворк WebView (Chromium)
Aurora WebView предоставляет удобный способ отображения веб-страниц в приложениях.
Помимо простого рендеринга, он также поддерживает другие функции, такие как обработка загрузок.
Использование
Запуск
Можно запустить приложение на основе WebView, просто запустив его исполняемый файл.
В этом случае для запуска WebView используются встроенные настройки. Графические параметры будут установлены автоматически в зависимости от платформы.
Запуск с аргументами командной строки
Приложения, использующие WebView, также можно запускать с помощью аргументов командной строки. Есть два способа сделать это:
- Запуск с помощью встроенной конфигурации.
Можно запустить приложение на основе WebView как со встроенными, так и с дополнительными параметрами командной строки. Разрешенные параметры перечислены в таблице из раздела «Инициализация контекста процессов браузера», все остальные неразрешенные параметры отбрасываются.
Пример запуска: webview_based_application --remote-debugging-port=9222
- Необходимо переопределить все встроенные аргументы, используя
OVERRIDE_ARGS=1
.
В этом случае встроенная конфигурация параметров не будет использоваться, и можно передать в WebView любые параметры.
Также можно использовать одну из предустановок для запуска WebView: --preset-default, --preset-default-hw-rendering, --preset-default-sw-rendering
. Можно использовать любые
дополнительные аргументы одновременно с предустановкой.
Описание пресетов:
--preset-default
задает встроенные настройки для запуска WebView. Другими словами, он передает
параметры, которые передаются, когда OVERRIDE_ARGS=1
не используется. Следует обратить внимание,
что использование этого пресета включает конфигурацию рендеринга по умолчанию.
--preset-default-hw-rendering
используется для запуска WebView с аппаратным ускорением обработки
графики. Этот пресет также включает все встроенные параметры, кроме встроенной графической
конфигурации. Другими словами, эта предварительная настройка включает в себя параметры по умолчанию,
но переопределяет конфигурацию рендеринга для аппаратного ускорения обработки графики.
--preset-default-sw-rendering
используется для запуска WebView с программной обработкой графики.
Этот пресет также включает все встроенные параметры, кроме встроенной графической конфигурации.
Другими словами, эта предварительная настройка включает в себя параметры по умолчанию, но
переопределяет конфигурацию рендеринга для программной обработки графики.
Если пользователь использовал предустановку и дополнительно указал параметр, который также входит в указанную предустановку, то будет применен параметр, указанный пользователем.
Пример запуска из командной строки: OVERRIDE_ARGS=1 webview_based_application --preset-default --disable-web-security
.
Настройка проекта (QMAKE)
PKGCONFIG += aurorawebview
Разрешения
Нужно добавить необходимые разрешения к desktop файлу:
Permissions=Internet;UserDirs;DeviceInfo
Использование в коде
Чтобы использовать WebView, нужно инициализировать его:
// задать атрибут перед созданием экземпляра приложения
QGuiApplication::instance()->setAttribute(Qt::AA_ShareOpenGLContexts);
...
// следует вызвать `InitBrowser`, если нужно настроить параметры.
а затем использовать как обычный компонент QML:
import ru.auroraos.WebView 1.0
...
WebView {
id: webView
anchors.fill: parent
TouchInput {
id: touchInput
enabled: true
}
KeyboardInput {
enabled: true
}
}
Примеры
Для знакомства с функционалом удобно использовать проект-пример. Также для начала изучения самой документации можно использовать класс Aurora::WebView::WebViewItem и секцию примеры (она частично повторяет проект-пример, но может содержать и функционал, отсутствующий в проекте-примере).