Документация
ОС Аврора 5.1.5

Дополнительные атрибуты WebView

Каждое из свойств, сигналов и методов, предоставляемых WebView, относится к одной из трёх следующих категорий:

В этой статье описаны дополнительные атрибуты WebView. Такие атрибуты вряд ли будут использоваться большинством разработчиков приложений, однако в некоторых случаях они могут оказаться полезными.

Они должны быть в основном стабильными, однако разработчики WebView оставляют за собой право изменять или удалять любые из этих атрибутов в будущих версиях Sailfish.WebView, если это необходимо.

Свойства

WebView::webViewPage

Свойство типа WebViewPage.

WebViewPage, в который встроен WebView.

Он будет заполнен автоматически, если явно не указан.

WebView::canShowSelectionMarkers

Свойство типа bool.

Отображает маркеры, когда пользователь выбирает текст на странице.

Если свойство имеет значениеtrue, пользователь сможет выбирать текст и элементы на странице, обозначенные маркерами. Следует установить ему значение false, чтобы отключить маркеры выделения.

Значение по умолчанию: true.

WebView::textSelectionActive

Свойство типа bool только для чтения.

Указывает, что текст в данный момент выбирается пользователем.

Этому свойству только для чтения будет присвоено значение true, если пользователь в данный момент выбирает текст на странице, или false в противном случае.

Пока режим выбора текста активен, контроллер выбора текста будет получать события сенсора (например, позволит перетаскивать маркеры выбора) перед самим веб-представлением.

WebView::textSelectionController

Свойство типа Item.

Элемент, который обрабатывает жесты выбора текста.

Если клиентское приложение явно не предоставляет контроллер выбора текста, TextSelectionController по умолчанию будет из Sailfish.WebView. Элементы управления будут созданы и использованы при необходимости.

Любой контроллер выбора текста, предоставленный клиентом, должен соответствовать требуемому API. Дополнительную информацию см. в документации Sailfish.WebView.Controls.

WebView::downloadsEnabled

Свойство типа bool.

Включены ли загрузки в веб-представлении.

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

WebView::virtualKeyboardMargin

Свойство типа real.

Поле, занимаемое клавиатурой внизу страницы.

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

В особых случаях, если разработчик приложения хочет точно контролировать, как должен быть организован веб-контент, чтобы компенсировать открытую клавиатуру (например, позволяя клавиатуре в некоторой степени перекрывать веб-контент по какой-либо причине), он может установить это значение вручную.

WebView::orientation

Свойство типа Qt::ScreenOrientation.

Ориентация веб-представления.

Обычно значение этого свойства соответствует ориентации страницы Silica, на которой отображается веб-представление.

WebView::viewportWidth

Свойство типа real.

Ширина области просмотра веб-представления в пикселях устройства.

Следует обратить внимание, что ширина области просмотра обычно равна ширине веб-представления, но в некоторых случаях клиенты могут захотеть установить ширину области просмотра явно (например, чтобы показать часть chrome на одном или другом краю, не закрывая некоторое содержимое внизу, при сохранении геометрии самого элемента веб-представления без изменений).

При привязке к этому свойству следует учитывать ориентацию устройства.

См. также: WebView::contentRect, WebView::orientation, WebView::viewportHeight

WebView::viewportHeight

Свойство типа real.

Высота области просмотра веб-представления в пикселях устройства, которая по умолчанию привязана к высоте экрана (в портретной ориентации) или ширине (в ландшафтной ориентации).

Следует обратить внимание, что высота области просмотра обычно равна высоте веб-представления, но в некоторых случаях клиенты могут захотеть установить высоту области просмотра явно (например, чтобы показать часть chrome на одном или другом краю, не закрывая некоторое содержимое внизу, при сохранении геометрии самого элемента веб-представления без изменений).

При привязке к этому свойству следует учитывать ориентацию устройства.

См. также: WebView::contentRect, WebView::orientation, WebView::viewportWidth

WebView::atXBeginning

Свойство типа bool только для чтения.

Прокручивается ли область просмотра веб-представления в крайнее левое положение содержимого.

Эффективно, когда значение этого свойства будет true, если значение x WebView::scrollableOffset приблизительно равно нулю (из-за семантики сравнения чисел с плавающей запятой).

См. также: WebView::atXEnd, WebView::scrollableOffset

WebView::atXEnd

Свойство типа bool только для чтения.

Прокручивается ли область просмотра веб-представления в крайнее правое положение содержимого.

Эффективно, когда значение этого свойства будет true, если значение x WebView::scrollableOffset плюс ширина (масштабированное WebView::resolution) WebView::contentRect приблизительно равна или больше ширины WebView::scrollableSize.

См. также: WebView::atXBeginning, WebView::scrollableOffset, WebView::scrollableSize, WebView::contentRect

WebView::atYBeginning

Свойство типа bool только для чтения.

Прокручивается ли область просмотра веб-представления к началу содержимого.

Эффективно, когда значение этого свойства будет true, если значение y WebView::scrollableOffset приблизительно равно нулю (из-за семантики сравнения чисел с плавающей запятой).

См. также: WebView::atYEnd, WebView::scrollableOffset

WebView::atYEnd

Свойство типа bool только для чтения.

Прокручивается ли область просмотра веб-представления к концу содержимого.

Эффективно, когда значение этого свойства будет true, если значение y WebView::scrollableOffset плюс высота (масштабированное WebView::resolution) WebView::contentRect< /a2> приблизительно равна или больше высоты WebView::scrollableSize.

См. также: WebView::atYBeginning, WebView::scrollableOffset, WebView::scrollableSize, WebView::contentRect

WebView::dragging

Свойство типа bool только для чтения.

Перетаскивает ли пользователь в данный момент прокручиваемую область.

Следует обратить внимание, что если сенсорные события используются контентом (например, панорамирование в приложении карт, которое вызывает загрузку новых тайлов), а не самим веб-представлением, это свойство не будет установлено.

WebView::moving

Свойство типа bool только для чтения.

Перемещается ли прокручиваемая область в настоящее время из-за инерции от предыдущего жеста перетаскивания.

WebView::pinching

Свойство типа bool только для чтения.

Выполняет ли пользователь в настоящее время жест сжатия, чтобы изменить масштаб веб-представления.

Следует обратить внимание, что если сенсорные события используются контентом (например, масштабирование в приложении карт, что вызывает загрузку новых тайлов с более высоким разрешением), а не самим веб-представлением, это свойство не будет установлено.

WebView::chrome

Свойство типа bool.

Виден ли chrome (то есть элементы пользовательского интерфейса для навигации).

При использовании компонента веб-представления навигационный chrome не отображается. Если требуется имитировать поведение панели инструментов Chrome в браузере, можно показать или скрыть свои пользовательские навигационные элементы chrome в соответствии со значением этого свойства.

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

См. также: WebView::chromeGestureEnabled, WebView::chromeGestureThreshold

WebView::chromeGestureEnabled

Свойство типа bool.

Включен ли жест для отображения навигационного chrome.

Если задано значение true, для chrome устанавливается значение false (скрытие навигационного chrome), когда жест панорамирования или пролистывания вызывает движение, превышающее chromeGestureThreshold, и автоматически возвращается значение true при обнаружении аналогичного жеста в противоположном направлении.

См. также: WebView::chrome, WebView::chromeGestureThreshold

WebView::chromeGestureThreshold

Свойство типа real.

Порог движения для обнаружения жеста chrome.

См. также: WebView::chromeGestureEnabled, WebView::chrome

WebView::desktopMode

Свойство типа bool.

Будет ли веб-представление пытаться загрузить десктопную версию сайта, а не мобильную.

От веб-службы зависит, можно ли обслуживать декстопный режим или нет.

WebView::backgroundColor

Свойство типа color только для чтения.

Цвет фона, заданный в данный момент загруженной страницей.

Сигналы

WebView::recvAsyncMessage(string message, variant data)

Испускается, если асинхронное сообщение не обрабатывается встроенным обработчиком и для указанного сообщения зарегистрирован прослушиватель сообщений.

Клиенты, у которых есть собственная обработка асинхронных сообщений, могут подключиться к этому сигналу, чтобы реализовать собственное поведение.

Методы

WebView::addMessageListener(string name)

Регистрирует прослушиватель асинхронных сообщений с указанным name.

Веб-представление будет испускать recvAsyncMessage() для сообщений с таким именем, которые отправляются обработчиками событий и т. д.

WebView::sendAsyncMessage(string name, variant data)

Отправляет асинхронное сообщение с указанными name и data.

Если прослушиватель зарегистрирован для сообщения, ему сообщение будет доставлено.

WebView::loadFrameScript(string name)

Загружает указанный скрипт фрейма.

Скрипт фрейма — это JavaScript-код, который загружается перед любым контентом и имеет возможность манипулировать DOM контента.

Разработчик может загрузить собственный скрипт фрейма для своего экземпляра WebView, чтобы добавить какой-либо прослушиватель событий (через addEventListener()), выполнить некоторую пользовательскую обработку события, а затем уведомить приложение через асинхронное сообщение.

Например:

 webView.loadFrameScript(Qt.resolvedUrl("customframescript.js"));
 webView.addMessageListener("appMessageHandler")

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

 document.addEventListener("click", function() {
     sendAsyncMessage("appMessageHandler", {"click": true})
     // веб-представление испустит recvAsyncMessage().
 });

WebView::urlLoadingOverride(QJsonObject url, bool isTopLevel)

Свойство типа QJSValue.

Разрешает или запрещает загрузку URL.

Разработчик может переопределить свойство urlLoadingOverride, чтобы определить, загружать или не загружать запрошенный URL-адрес. Функция должна возвращать true, чтобы разрешить загрузку запрошенного URL-адреса, и false, чтобы запретить. Все запросы по умолчанию разрешены.

Поля url:

Поле Описание
url Строковое представление URL
scheme Схема URL
userPass Пароль URL
host Хост URL
port Порт URL
filePath Путь URL
query Строка запроса URL
ref Фрагмент URL

isTopLevel определяет цель для URL. Если значение равно true, URL был запрошен для корневого документа. Если значение равно false, URL-адрес был запрошен для вложенного документа, такого как фрейм.

Например:

 urlLoadingOverride: function(url, isTopLevel) {
     // открыть перенаправленный URL-адрес в приложении браузера
     if (url.url.indexOf("away.php?") === 0) {
         Qt.openUrlExternally(url.url);
         return false;
     }
     return true;
 }

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.