Spec-Zone.ru › Qt 5.13

Класс QQuickWebEngineScript

Позволяет встраивать скрипты в движок JavaScript. Подробнее...

Заголовок: #include <QQuickWebEngineScript>
С момента: Qt 5.9
Инициализируется: WebEngineScript
Наследует: QObject

Этот класс был введён в Qt 5.9.

  • Список всех членов, включая наследуемые

Открытые типы

перечисление InjectionPoint { Создание документа, Документ готов, Отложенный }
перечисление ScriptWorldId { Основной мир, Мир приложения, Мир пользователя }

Свойства

  • injectionPoint : InjectionPoint
  • name : QString
  • runOnSubframes : bool
  • sourceCode : QString
  • sourceUrl : QUrl
  • worldId : ScriptWorldId

Открытые функции

QQuickWebEngineScript(QObject *parent = Q_NULLPTR)
QQuickWebEngineScript::InjectionPoint injectionPoint() const
QString name() const
bool runOnSubframes() const
void setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint)
void setName(const QString &name)
void setRunOnSubframes(bool on)
void setSourceCode(const QString &code)
void setSourceUrl(const QUrl &url)
void setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId)
QString sourceCode() const
QUrl sourceUrl() const
QString toString() const
QQuickWebEngineScript::ScriptWorldId worldId() const

Сигналы

void injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint)
void nameChanged(const QString &name)
void runOnSubframesChanged(bool on)
void sourceCodeChanged(const QString &code)
void sourceUrlChanged(const QUrl &url)
void worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId)

Подробное описание

Тип QQuickWebEngineScript позволяет программно встраивать так называемые пользовательские скрипты в движок JavaScript в разные моменты, определяемые свойством injectionPoint, во время загрузки веб-контента.

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

Документация по типам членов

перечисление QQuickWebEngineScript::InjectionPoint

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

Константа Значение Описание
QQuickWebEngineScript::DocumentCreation 2 Скрипт будет выполнен как только документ будет создан. Это не подходит для любых операций с DOM.
QQuickWebEngineScript::DocumentReady 1 Скрипт будет выполнен, как только DOM будет готов. Это эквивалентно событию DOMContentLoaded в JavaScript.
QQuickWebEngineScript::Deferred 0 Скрипт будет выполнен по завершении загрузки страницы или через 500 мс после готовности документа, в зависимости от того, что произойдёт раньше.

перечисление QQuickWebEngineScript::ScriptWorldId

ИД мира, определяющий, в каком изолированном мире выполняется скрипт. Помимо этих предопределённых ИД можно использовать пользовательские, но они должны быть целыми числами от 0 до 256.

Константа Значение Описание
QQuickWebEngineScript::MainWorld 0 Мир, используемый веб-контентом страницы. Это может быть полезно для экспонирования пользовательских функций веб-контенту в определённых сценариях.
QQuickWebEngineScript::ApplicationWorld 1 Стандартный изолированный мир, используемый для функциональности на уровне приложения, реализованной в JavaScript.
QQuickWebEngineScript::UserWorld 2 Первый изолированный мир, который будут использовать скрипты, установленные пользователями, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждый отдельный скрипт, вероятно, должен иметь свой собственный изолированный мир.

Документация свойств

injectionPoint : InjectionPoint

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

Значение по умолчанию равно Deferred.

Функции доступа:

QQuickWebEngineScript::InjectionPoint injectionPoint() const
void setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint)

name : QString

Это свойство содержит имя скрипта.

Может быть полезно для извлечения определенного скрипта из QQuickWebEngineProfile::userScripts.

Функции доступа:

QString name() const
void setName(const QString &name) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void nameChanged(const QString &name)

runOnSubframes : bool

Это свойство указывает, выполняется ли скрипт на каждом фрейме или только на главном.

Установите это свойство в true , если скрипт выполняется на каждом фрейме страницы, или в false , если он выполняется только для главного фрейма. Значение по умолчанию равно false.

Функции доступа:

bool runOnSubframes() const
void setRunOnSubframes(bool on) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void runOnSubframesChanged(bool on)

sourceCode : QString

Это свойство содержит исходный код JavaScript пользовательского скрипта.

Функции доступа:

QString sourceCode() const
void setSourceCode(const QString &code) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void sourceCodeChanged(const QString &code)

См. также QQuickWebEngineScript::sourceUrl.

sourceUrl : QUrl

Это свойство содержит удаленное местоположение источника пользовательского скрипта (если таковое имеется).

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

Установка этого свойства изменит sourceCode скрипта.

Примечание: В настоящее время поддерживаются только источники на основе файлов.

Функции доступа:

QUrl sourceUrl() const
void setSourceUrl(const QUrl &url) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void sourceUrlChanged(const QUrl &url)

См. также QQuickWebEngineScript::sourceCode.

worldId : ScriptWorldId

Это свойство содержит идентификатор мира, определяющий изолированный мир, в котором выполняется скрипт.

Функции доступа:

QQuickWebEngineScript::ScriptWorldId worldId() const
void setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId) [см. примечание ниже]

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId)

Документация по членам-функциям

QQuickWebEngineScript::QQuickWebEngineScript(QObject *parent = Q_NULLPTR)

Создает новый QQuickWebEngineScript с родителем parent.

QString QQuickWebEngineScript::toString() const

Возвращает объект скрипта в виде строки.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qquickwebenginescript.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API