LoadRequestExtension
Предоставляет возможности фильтрации URL-адресов и обработки схем. Подробнее…
| Подключение: | #include <loadrequestextension.h> |
Диаграмма наследования для Aurora::WebView::Extensions::LoadRequestExtension:
Пример запрета перехода по url и кастомная обработка перехода:
import QtQuick 2.0
import Sailfish.Silica 1.0
import ru.auroraos.WebView 1.0
import ru.auroraos.WebView.Global 1.0
import Aurora.Controls 1.0
Page {
objectName: "keyboardInputPage"
PageHeader {
id: pageHeader
objectName: "pageHeader"
title: qsTr("KeyboardInput")
}
Item {
anchors.fill: parent
WebView {
id: webView
anchors.fill: parent
url: htmlRootPath + "/html/KeyboardInputComponent.html"
// Доступ к касаниям
TouchInput{
enabled: true
}
// Доступ к клавиатуре
KeyboardInput {
enabled: true
}
}
}
}
Сигналы
| void | nativeSchemeHandlingChanged () |
Сигналы, унаследованные от Aurora::WebView::WebViewExtension
| void | webViewChanged (WebViewItem *oldItem, WebViewItem *newItem) Сигнализирует об изменении родительского элемента QuickItem. Подробнее... |
Публичные функции-члены
| LoadRequestExtension (QQuickItem *parentWebView=Q_NULLPTR) Создаёт новый объект LoadRequestExtension. |
|
| virtual | ~LoadRequestExtension () Уничтожает объект LoadRequestExtension. |
| bool | nativeSchemeHandling () const Если true, открытие таких uri, как phone uri (tel:) или email (mailto:), вызывает обработку ОС, означающую, что должно быть вызвано приложение для телефона или электронной почты. Подробнее.... |
| void | setNativeSchemeHandling (bool enabled) Устанавливает значение true, чтобы включить обработку схемы по умолчанию. Подробнее.... |
Публичные функции, унаследованные от Aurora::WebView::WebViewExtension
| WebViewExtension (QQuickItem *parent=Q_NULLPTR) |
Свойства
| bool | nativeSchemeHandling Если включено, то схемы по умолчанию, такие как телефонный URI (tel:) или адрес электронной почты (mailto:), обрабатываются автоматически. |
Дополнительные наследуемые члены
Защищённые функции-члены, наследованные от Aurora::WebView::WebViewExtension
| void | syncEnabled (Cef::BrowserExtension *libExtension) |
Защищённые атрибуты, унаследованные от Aurora::WebView::WebViewExtension
| WebViewItem * | m_webView |
Подробное описание
Предоставляет возможности фильтрации URL-адресов и обработки схем.
Это расширение позволяет фильтровать URL-адреса, чтобы разрешить/отменить их загрузку, а также
управлять собственной обработкой схем URI. Чтобы отфильтровать URL или переопределить собственную
обработку схемы, нужно создать элемент QML
LoadRequestExtension
и определить в нём функцию JS beforeUrlLoad(url, userGesture, isRedirect). Эта функция должна
возвращать true, если URL разрешён, и false, если URL не разрешён. Должен быть создан только
один элемент расширения
LoadRequestExtension.
Функция beforeUrlLoad(url, userGesture, isRedirect) должна содержать следующие три параметра:
url— параметр, который имеет типQJsonObjectи содержит следующие поля:
| url | Строковое представление URL |
| scheme | Схема URL |
| userPass | Пароль URL |
| host | Хост URL |
| port | Порт URL |
| filePath | Путь URL |
| query | Строка запроса URL |
| ref | Фрагмент URL |
userGesture— параметр, который имеет типbool. Он будетtrue, если браузер перешёл с помощью явного жеста пользователя (например, нажатия на ссылку) илиfalse, если он перешёл автоматически (например, с помощью событияDomContentLoaded).- Параметр
isRedirect, который имеет типbool. Он указывает, был ли перенаправлен запрос.
Описание функций-членов
nativeSchemeHandling()
| bool Aurora::WebView::Extensions::LoadRequestExtension::nativeSchemeHandling () const |
Если true, открытие таких uri, как phone uri (tel:) или email (mailto:), вызывает обработку ОС,
означающую, что должно быть вызвано приложение для телефона или электронной почты.
Возвращает true, если включена обработка схемы по умолчанию.
setNativeSchemeHandling()
| void Aurora::WebView::Extensions::LoadRequestExtension::setNativeSchemeHandling (bool enabled) |
Устанавливает значение true для включения обработку схем по умолчанию.
Параметры
| enabled |